Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Bu makalede, Azure Pipelines ortamları oluşturma ve hedefleme açıklanmaktadır. Ortam, bir işlem hattından yapılan dağıtımlarla hedefleyebileceğiniz bir kaynak grubudur.
Ortam, işlem hattınızın yazılım dağıttığı mantıksal hedefi temsil eder. Yaygın ortam adları Arasında Geliştirme, Test, Soru-Cevap, Hazırlama ve Üretim yer alır.
Not
Azure DevOps ortamları Klasik işlem hatlarında kullanılamaz. Klasik işlem hatları için dağıtım grupları benzer işlevler sağlar.
Ortamlar aşağıdaki avantajları sağlar:
Dağıtım geçmişi. İşlem hattı adı ve işletim ayrıntıları, bir ortama ve kaynaklarına yapılan dağıtımlar için kaydedilmektedir. Aynı ortamı veya kaynağı hedefleyen birden çok işlem hattı bağlamında, değişikliklerin kaynağını belirlemek için bir ortamın dağıtım geçmişini kullanabilirsiniz.
Komitelerin ve iş öğelerinin izlenebilirliği. İşlem hattı çalışmasında bir ortamı hedefleyen işleri görüntüleyebilirsiniz. Ayrıca, ortama yeni dağıtılan taahhütleri ve iş öğelerini de görüntüleyebilirsiniz. İzlenebilirlik ayrıca bir kod değişikliği işleme veya özellik/hata düzeltme iş öğesinin bir ortama ulaşıp ulaşmadığını izlemenize de olanak tanır.
Tanılama kaynağı sağlığı. Uygulamanın istenen durumda çalışıp çalışmadığını doğrulayabilirsiniz.
Güvenlik. Bir ortamı hedeflemek için hangi kullanıcıların ve işlem hatlarının izin verileceğini belirterek ortamların güvenliğini sağlayabilirsiniz.
Ortam, kaynakların gerçek dağıtım hedeflerini temsil ettiği bir kaynak grubudur. Azure Pipelines ortamları şu anda Kubernetes ve virtual machine kaynak türlerini destekler.
YAML işlem hattı mevcut olmayan bir ortama başvuruyorsa:
İşlemi gerçekleştiren kullanıcı biliniyorsa ve izinler atanabiliyorsa Azure Pipelines ortamı otomatik olarak oluşturur.
Azure Pipelines işlemi gerçekleştiren kullanıcı hakkında bilgi olmadığında (örneğin, dış kod düzenleyicisinden bir YAML güncelleştirmesinde), işlem hattı başarısız olur.
Önkoşullar
| Kategori | Gereksinimler |
|---|---|
| Azure DevOps | - Azure DevOps projesi. - Microsoft tarafından barındırılan ajanlarda pipeline'ları çalıştırma yeteneği. Paralel bir iş satın alabilir veya ücretsiz katman isteyebilirsiniz. - YAML ve Azure Pipelines hakkında temel bilgiler. Daha fazla bilgi için bkz. İlk işlem hattınızı oluşturma. - İzinler: Ortam eklemek için, projenizde ortamlar için Oluşturucu rolüne sahip olmanız gerekir. Varsayılan olarak, Yapı Yöneticileri, Yayın Yöneticileri ve Proje Yöneticileri gruplarının üyeleri de ortamlar oluşturabilir. |
| Azure | Azure aboneliği. |
Ortam oluşturun
İlk ortamınızı oluşturmak için:
https://dev.azure.com/{yourorganization}adresinden Azure DevOps kuruluşunuzda oturum açın ve projenizi açın.İşlem Hatları>Ortamları>Ortam oluştur seçin.
Ortam bilgilerini girin ve Oluştur'u seçin. Daha sonra mevcut bir ortama kaynak ekleyebilirsiniz.
İpucu
Dağıtım geçmişini ortamda kaydetmek için boş bir ortam oluşturun ve dağıtım işlerinde bu ortama referans gösterin.
Ortamları program aracılığıyla oluşturmak ve yönetmek için Azure DevOps Environments REST API kullanın.
ortamlara dağıtmak için Azure Pipelines kullanabilirsiniz. Daha fazla bilgi için Azure Pipelines ile Azure Kubernetes Service'e derleme ve dağıtım bölümüne bakın.
Dağıtım işindeki bir ortamı hedefleme
Dağıtım işi sıralı olarak çalışan adımlar içerir. Aşağıdaki örnek YAML kod parçacığında gösterildiği gibi, bir dağıtım işini kullanarak bir kaynak grubunun tamamını hedefleyebilirsiniz. İşlem hattı, kaynak adı belirtildiğinden myVM makinesinde çalışır.
- stage: deploy
jobs:
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: 'Ubuntu-latest'
# creates an environment if it doesn't exist
environment:
name: 'smarthotel-dev'
resourceName: myVM
resourceType: virtualMachine
strategy:
runOnce:
deploy:
steps:
- script: echo Hello world
Dağıtım işinden belirli bir ortam kaynağını hedefleme
Dağıtım hedefini ortamdaki belirli bir kaynağın kapsamına alabilir, böylece dağıtım geçmişini belirli bir kaynağa kaydedebilirsiniz. Dağıtım işinin adımları, dağıtım işinin hedefledığı kaynaktan hizmet bağlantısı ayrıntılarını otomatik olarak devralır.
Aşağıdaki örnekte, kubernetesServiceConnection değerinin environment.resource girişinden göreve otomatik olarak geçtiği gösterilmektedir.
environment:
name: 'smarthotel-dev.bookings'
strategy:
runOnce:
deploy:
steps:
- task: KubernetesManifest@1
displayName: Deploy to Kubernetes cluster
inputs:
action: deploy
namespace: $(k8sNamespace)
manifests: $(System.ArtifactsDirectory)/manifests/*
imagePullSecrets: $(imagePullSecret)
containers: $(containerRegistry)/$(imageRepository):$(tag)
Not
Özel AKS kümesi kullanıyorsanız, API sunucusu uç noktası genel IP adresi üzerinden sunulmadığından kümenin sanal ağına bağlı olduğunuzdan emin olun.
Azure Pipelines, kümenin sanal ağına erişimi olan bir sanal ağ içinde kendi barındırdığı bir aracı ayarlamanızı önerir. Ayrıntılar için bkz . Özel kümeye bağlanma seçenekleri.
El ile onay denetimlerini kullanma
Üretim ortamlarına dağıtımları denetlemek için Azure Pipelines el ile onay denetimlerini destekler. Bu denetimler, kaynak sahiplerinin işlem hattındaki bir aşamanın kaynağı ne zaman tükettiği denetlemesine olanak tanır. Kaynak sahipleri, kaynağı kullanan bir aşamanın başlayabilmesi için karşılanması gereken onayları ve denetimleri tanımlayabilir.
Ortam Oluşturucusu, Yönetici ve Kullanıcı rolleri, ancak Okuyucu rolü değil, onayları ve denetimleri yönetebilir. Ortam sahibi olarak, onay denetimlerini kullanarak bir aşamanın ne zaman çalıştırılması gerektiğini el ile denetleyebilirsiniz. Daha fazla bilgi için bkz . Onayları ve denetimleri tanımlama.
Koşum detaylarında ortamlara bakın
İşlem hattı çalıştırma ayrıntılarının Ortamlar sekmesinde, bir işlem hattı çalıştırmasının dağıtım işleri tarafından hedeflenen tüm ortamları görebilirsiniz.
Not
Azure Kubernetes Service (AKS) özel küme kullanıyorsanız Environments sekmesi kullanılamaz.
Dağıtım geçmişini görüntüleme
Dağıtım geçmişini görüntülemek için Azure Pipelines Environments bölümündeki Deployments sekmesini seçebilirsiniz.
Belirli bir ortamı hedefleyen tüm işlem hatlarından işleri görüntüleyin. Örneğin, her birinin kendi işlem hattı olan iki mikro hizmet aynı ortama dağıtılabilir. Dağıtım geçmişi, ortamı etkileyen tüm işlem hatlarının tanımlanmasına yardımcı olur ve ayrıca her işlem hattına göre dağıtım sırasını görselleştirmeye yardımcı olur.
İş ayrıntılarında detaya gitmek için dağıtım sayfasındaki Değişiklikler ve İş öğeleri sekmelerini seçin. Sekmeler, ortama dağıtılan commit ve iş öğelerinin listelerini gösterir. Her liste öğesi, bu dağıtımdaki yeni öğeleri temsil eder.
Değişiklikler sekmesinde, ilk liste o noktaya yönelik tüm işlemeleri içerir ve aşağıdaki listelerde yalnızca o iş için yapılan değişiklikler yer alır. Aynı işe birden çok taahhüt bağlıysa, Değişiklikler sekmesinde birden çok sonuç vardır.
Aynı işe birden çok iş öğesi bağlıysa, İş öğeleri sekmesinde birden çok sonuç vardır.
Güvenlik
Kullanıcı izinlerini ve işlem hattı izinlerini ayarlayarak ortamlarınızın güvenliğini sağlayabilirsiniz.
Kullanıcı izinleri
Kullanıcı izinleriyle ortamları kimlerin oluşturabileceğini, görüntüleyebileceğini, kullanabileceğini ve yönetebileceğini denetleyebilirsiniz. Dört rol vardır: Tüm ortamların kapsamına sahip Oluşturucu, Okuyucu, Kullanıcı ve Yönetici.
Bir ortamın Kullanıcı izinleri panelini kullanarak kullanıcı eklemek için yetkilendirmek istediğiniz ortama gidin, Diğer eylemler simgesini seçin ve Güvenlik'i seçin.
Güvenlik sayfasının Kullanıcı izinleri panelinde Ekle'yi seçin ve ardından bir Kullanıcı veya grup ve uygun rol seçin.
Kullanıcı izinleri panelinde, devralınan izinleri ayarlayabilir ve ortamınız için rolleri geçersiz kılabilirsiniz.
| Rol | Açıklama |
|---|---|
| Oluşturucu | Ortamlar Hub'ındaki güvenlik seçeneğinden kullanılabilen genel rol. Bu rolün üyeleri projede ortam oluşturabilir. Katkıda bulunanlar varsayılan olarak üye olarak eklenir. Ortam henüz mevcut olmadığında YAML işlem hattını tetiklemek için gereklidir. |
| Reader | Bu role sahip üyeler ortamı görüntüleyebilir. |
| User | Bu rolün üyeleri YAML işlem hatlarını oluştururken veya düzenlerken ortamı kullanabilir. |
| Administrator | Bu rolün üyeleri izinleri yönetebilir, ortamları oluşturabilir, yönetebilir, görüntüleyebilir ve kullanabilir. Belirli bir ortam için, oluşturucusu varsayılan olarak Yönetici olarak eklenir. Yöneticiler, bir ortamın erişimini tüm pipeline'lara açabilir. |
Önemli
Bir ortam oluşturduğunuzda, yönetici rolü yalnızca oluşturucuya aittir.
| Rol | Açıklama |
|---|---|
| Oluşturucu | Ortamlar Hub'ındaki güvenlik seçeneğinden kullanılabilen genel rol. Bu rolün üyeleri projede ortam oluşturabilir. Katkıda bulunanlar varsayılan olarak üye olarak eklenir. Ortam henüz mevcut olmadığında YAML işlem hattını tetiklemek için gereklidir. |
| Reader | Bu role sahip üyeler ortamı görüntüleyebilir. |
| User | Bu rolün üyeleri YAML işlem hatlarını oluştururken veya düzenlerken ortamı kullanabilir. |
| Administrator | Ortamı kullanmaya ek olarak, bu rolün üyeleri ortam için diğer tüm rollerin üyeliğini yönetebilir. Oluşturucular varsayılan olarak üye olarak eklenir. |
Boru hattı izinleri
Ortama dağıtım için tüm veya seçili işlem hatlarını yetkilendirmek için Güvenlik sayfasının İşlem Hattı izinleri panelini kullanın.
Ortamda veya kaynakta açık erişimi kaldırmak için İzni kısıtla seçeneğini İşlem hattı izinlerinde seçin.
İzinler kısıtlandığında, belirli işlem hatlarının ortama veya belirli bir kaynağa dağıtılmasına izin verebilirsiniz. +'ü seçin ve izin vermek için işlem hatları listesinden seçin.
SSS
Ortam oluşturmaya çalıştığımda neden bir hata iletisi alıyorum?
Erişim reddedildi bildirimi görüyorsanız: {User}'ın eylemi gerçekleştirmek için Oluşturma izinlerine ihtiyacı var, Paydaş rolüne sahip olup olmadığınızı denetlemek üzere Kuruluş AyarlarıKullanıcılar'a gidin. Paydaşların depoya erişimi olmadığından Paydaş rolü ortam oluşturamıyor.
Erişim düzeyinizi değiştirin ve ortam oluşturup oluşturamadığını kontrol edin. Daha fazla bilgi için bkz. Kullanıcı ve izin yönetimi Sıkça Sorulan Sorular.
Neden bir ortamın bulunamadığına dair bir hata alıyorum?
Eğer İş XXXX: Ortam XXXX bulunamadı. Ortam mevcut olmayabilir veya kullanım için yetkilendirilmemiş olabilir ile karşılaşırsanız, hatanın çeşitli olası nedenleri olabilir.
Parametreler yalnızca çalışma zamanında genişletildiğinden çalışma zamanı parametreleri ortam oluştururken çalışmaz. Ortam oluşturmak için değişkenleri veya şablonların özelliklerini geçirmek için templateContext'i kullanabilirsiniz.
YAML işlem hattı dosyasında mevcut olmayan bir ortama başvurduğunuz zaman Azure Pipelines aşağıdaki durumlarda ortamı otomatik olarak oluşturur:
- Azure Pipelines web deneyiminde YAML işlem hattı oluşturma sihirbazını kullanır ve henüz oluşturulmamış bir ortama başvurursunuz.
- YAML dosyasını, Azure Pipelines web düzenleyicisini kullanarak güncelleştirir ve ortama başvuruyu ekledikten sonra işlem hattını kaydedersiniz.
Aşağıdaki durumlarda Azure Pipelines ortamı oluşturan kullanıcı hakkında bilgi olmadığından işlem hattı başarısız olur:
- YAML dosyasını başka bir dış kod düzenleyicisi kullanarak güncelleştirirsiniz.
- Mevcut olmayan bir ortama referans ekliyor ve ardından bir manuel veya sürekli tümleştirme işlem hattı tetikliyorsunuz.
Daha önce Azure Pipelines tüm proje katkıda bulunanlarını ortamın yönetici rolüne ekleyerek bu durumlarla ilgilendi. Bundan sonra projenin her üyesi bu izinleri değiştirebilir ve diğerlerinin ortama erişmesini engelleyebilir. Bu sonucu önlemek için Azure Pipelines şimdi bu işleri başarısız oluyor.