Ortam oluşturma ve hedefleme
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Bu makalede Azure Pipelines ortamlarının nasıl oluşturulacağı ve hedeflerinin nasıl oluşturulacağı açıklanmaktadır. Ortam, bir işlem hattından yapılan dağıtımlarla hedefleyebileceğiniz bir kaynak koleksiyonudur.
Ortam, işlem hattınızın yazılım dağıttığı mantıksal hedefi temsil eder. Tipik ortam adları Geliştirme, Test, Soru-Cevap, Hazırlama ve Üretim'tir.
Not
Azure DevOps ortamları Klasik işlem hatlarında kullanılamaz. Klasik işlem hatları için dağıtım grupları benzer işlevler sunar.
Ortamlar aşağıdaki avantajları sağlar:
Dağıtım geçmişi. İşlem hattı adı ve çalıştırma ayrıntıları, bir ortama ve kaynaklarına yapılan dağıtımlar için kaydedilir. 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.
İşlemelerin ve iş öğelerinin izlenebilirliği. İşlem hattı çalıştırması içinde ortamı hedefleyen işleri görüntüleyebilirsiniz. Ayrıca, ortama yeni dağıtılan işlemeleri 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ğı durumu. 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 sanal makine kaynak türlerini desteklemektedir.
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 sahibi olmadığında (örneğin, dış kod düzenleyicisinden bir YAML güncelleştirmesinde), işlem hattı başarısız olur.
Önkoşullar
Ortam eklemek için aşağıdaki önkoşullara ihtiyacınız vardır:
- Azure DevOps kuruluşu ve projesi.
- Projenizdeki ortamlar için Oluşturucu rolü.
Ortam oluşturun
İlk ortamınızı oluşturmak için:
adresinden Azure DevOps kuruluşunuzda
https://dev.azure.com/{yourorganization}
oturum açın ve projenizi açın.İşlem Hatları Ortamları>>Ortam oluştur'u seçin.
Ortam bilgilerini girin ve Oluştur'u seçin. Daha sonra mevcut bir ortama kaynak ekleyebilirsiniz.
İpucu
Boş bir ortam oluşturabilir ve dağıtım işlerinden buna başvurarak ortama dağıtım geçmişini kaydedebilirsiniz.
Azure Pipelines'ı kullanarak ortamlara dağıtabilirsiniz. Daha fazla bilgi için bkz . Azure Pipelines ile Azure Kubernetes Service'i derleme ve dağıtma.
Dağıtım işinden bir ortamı hedefleme
Dağıtım işi, sırayla çalışan adımlardan oluşan bir koleksiyondur. 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. Kaynak adı belirtildiğinden myVM
işlem hattı makinede ç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, değerinin değeri kubernetesServiceConnection
girişten environment.resource
göreve otomatik olarak geçer.
environment:
name: 'smarthotel-dev.bookings'
strategy:
runOnce:
deploy:
steps:
- task: KubernetesManifest@0
displayName: Deploy to Kubernetes cluster
inputs:
action: deploy
namespace: $(k8sNamespace)
manifests: $(System.ArtifactsDirectory)/manifests/*
imagePullSecrets: $(imagePullSecret)
containers: $(containerRegistry)/$(imageRepository):$(tag)
El ile onay denetimlerini kullanma
Azure Pipelines, üretim ortamlarına yapılan dağıtımları denetlemek için ortamlarda el ile onay denetimlerini destekler. Onay denetimleri, işlem hattındaki bir aşamanın kaynağı ne zaman tükettiği denetlemek için kaynak sahipleri tarafından kullanılabilir. 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, 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.
Çalıştırma ayrıntıları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ümesi kullanıyorsanız Ortamlar 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 Ortamları bölümünde Dağıtımlar 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, işlemelerin ve ortama dağıtılan iş öğelerinin listesini 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 işleme 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: Okuyucu, Kullanıcı ve Yönetici olmak üzere tüm ortamların kapsamına sahip oluşturucu.
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 |
---|---|
Yaratıcı | Ortam hub'ı 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ı tetikleme için gereklidir. |
Okuyucu | Bu rolün üyeleri ortamı görüntüleyebilir. |
Kullanıcı | Bu rolün üyeleri YAML işlem hatlarını oluştururken veya düzenlerken ortamı kullanabilir. |
Yönetici | 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 ortama erişimi tüm işlem hatlarına da açabilir. |
Önemli
Bir ortam oluşturduğunuzda, yönetici rolü yalnızca oluşturucuya aittir.
Rol | Açıklama |
---|---|
Yaratıcı | Ortam hub'ı 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ı tetikleme için gereklidir. |
Okuyucu | Bu rolün üyeleri ortamı görüntüleyebilir. |
Kullanıcı | Bu rolün üyeleri YAML işlem hatlarını oluştururken veya düzenlerken ortamı kullanabilir. |
Yönetici | 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. |
İşlem 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 İşlem hattı izinlerinde İzni kısıtla'yı seçin.
İzinler kısıtlandığında, belirli işlem hatlarının ortama veya belirli bir kaynağa dağıtılmasına izin verilmektedir. + İzin vermek için işlem hatları listesinden seçim yapın.
SSS
Ortam oluşturmaya çalıştığımda neden bir hata iletisi alıyorum?
Erişim reddedildi iletisini görüyorsanız: {User} eylemi gerçekleştirmek için Oluşturma izinlerine sahip, Paydaş rolüne sahip olup olmadığınızı denetlemek için Kuruluş Ayarları>Kullanıcıları'na 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 hakkında SSS.
Neden bir ortamın bulunamadığına dair bir hata alıyorum?
İş XXXX: Ortam XXXX bulunamadı iletisini görürseniz. Ortam yok veya kullanım için yetkilendirilmemiş. Hatanın çeşitli olası nedenleri vardır.
Çalışma zamanı parametreleri ortam oluştururken çalışmaz, çünkü parametreler yalnızca çalışma zamanında genişletilir. Ortam oluşturmak için değişkenleri kullanabilir veya şablonların özelliklerini geçirmek için templateContext kullanabilirsiniz.
Azure Pipelines'da ortamı oluşturan kullanıcı hakkında bilgi olmayabilir.
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.
- Azure Pipelines web düzenleyicisini kullanarak YAML dosyasını 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 içermez, bu nedenle işlem hattı başarısız olur.
- YAML dosyasını başka bir dış kod düzenleyicisi kullanarak güncelleştirirsiniz.
- Var olmayan bir ortama başvuru ekler ve ardından el ile veya sürekli tümleştirme işlem hattının tetiklenmiş olmasına neden olursunuz.
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 artık bu işleri başarısız oluyor.