Ortamı oluşturma ve hedefleme

Azure Pipelines | Azure DevOps Server 2020

Ortam, bir işlem hattından dağıtımlarla hedefleyebilirsiniz bir kaynak koleksiyonudur. Geliştirme, Test, QA, Hazırlama ve Üretim ortam adlarının tipik örnekleridir.

Ortamlar aşağıdaki avantajları sağlar.

Avantaj Description
Dağıtım geçmişi Bir ortama ve kaynaklarına yapılan dağıtımlar için işlem hattı adı ve çalıştırma ayrıntıları kaydedilir. Aynı ortamı veya kaynağı hedef alan birden çok işlem hattı bağlamında, bir ortamın dağıtım geçmişi, değişikliklerin kaynağını belirlemek için yararlıdır.
İş öğelerinin ve işlemelerin izlenebilirliği Bir ortamı hedef alan işlem hattı çalıştırması içindeki işleri görüntüleme. Ortama yeni dağıtılan işlemeleri ve iş öğelerini de görüntüebilirsiniz. İzlanabilirlik ayrıca bir kod değişikliğinin (işleme) veya özellik/hata düzeltmesi (iş öğeleri) ile ortama ulaşıp ulaşmamış olduğunu izlemenizi sağlar.
Tanılama kaynağı durumu Uygulamanın istediği durumda olup olmadığını doğrulama.
Güvenlik Ortamı hedeflemesine izin verilen kullanıcıları ve işlem hatlarını belirterek ortamların güvenliğini sağlama.

Ortam bir kaynak grubudur ancak kaynaklar gerçek dağıtım hedeflerini temsil eder. Kubernetes kaynağı ve sanal makine kaynak türleri şu anda denetildi.

Ortam oluşturma

  1. Kuruluşta oturum açma: https://dev.azure.com/{yourorganization} ve projenizi seçin.

  2. Ortamlar Pipelines'ı seçin.

    Ortamlar

  3. Ortamla ilgili bilgileri girin ve Oluştur'a basın. Kaynaklar daha sonra mevcut bir ortama eklenebilir.

    Yeni ortam oluşturma ekran görüntüsü.

Ortamlar oluşturmak ve ortamlara dağıtmak için de İşlem Hattı kullanın. Daha fazla bilgi için bkz. nasıl kılavuzu.

İpucu

Boş bir ortam oluşturabilir ve dağıtım işlerinden buna başvurabilirsiniz. Bu, ortama karşı dağıtım geçmişini kaydetmenizi sağlar.

Dağıtım işinin ortamını hedefleme

Dağıtım işi, sıralı olarak çalıştırılacak adımlardan oluşur. Dağıtım işi, aşağıdaki YAML kod parçacığında gösterildiği gibi ortamın tamamını (kaynak grubu) hedeflemek için kullanılabilir.

- stage: deploy
  jobs:
  - deployment: DeployWeb
    displayName: deploy Web App
    pool:
      vmImage: 'Ubuntu-latest'
    # creates an environment if it doesn't exist
    environment: 'smarthotel-dev'
    strategy:
      runOnce:
        deploy:
          steps:
          - script: echo Hello world

Dağıtım işlerinden bir ortamdaki belirli bir kaynağı hedefleme

Ortamın içindeki belirli bir kaynağa dağıtım hedefinin kapsamını sebilirsiniz. Ardından, ortam içindeki belirli bir kaynağa dağıtım geçmişini kaydedebilirsiniz. Dağıtım işinin adımları, hizmet bağlantısı ayrıntılarını dağıtım işi tarafından hedeflenen kaynaktan otomatik olarak devralın.

environment: '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)
         # value for kubernetesServiceConnection input automatically passed down to task by environment.resource input

Çalıştırma ayrıntılarında ortam

Belirli bir işlem hattının dağıtım işleri tarafından hedeflenen tüm ortamlar, işlem hattı çalıştırma ayrıntılarının Ortamlar sekmesinde bulunabilir.

Çalıştırma ayrıntılarında ortamlar

AKS özel kümesi kullanıyorsanız Ortamlar sekmesi kullanılamaz.

Onaylar

Onay denetimlerini kullanarak bir aşamanın ne zaman çalışması gerektiğini el ile denetleme. Üretim ortamlarına dağıtımları kontrol etmek için onay denetimlerini kullanın. İşlem hattında bir aşamanın bir kaynağı ne zaman tükettiği kontrol etmek için kaynak Sahibi tarafından denetimler kullanılabilir. Ortam gibi bir kaynağın sahibi olarak, kaynağı tüketen bir aşama başlamadan önce karşı olması gereken onaylar ve denetimler tanımlayabilirsiniz.

Ortamlarda el ile onay denetimlerini destekliyoruz. Daha fazla bilgi için bkz. Onaylar.

Oluşturucu, Yönetici ve kullanıcı rolleri onayları ve denetimleri yönetebilir. Okuyucu rolü onayları ve denetimleri yönetamaz.

Dağıtım geçmişi

Ortamlar içindeki dağıtım geçmişi görünümü aşağıdaki avantajları sağlar.

  • Belirli bir ortamı hedef alan tüm işlem hatlarından işleri görüntüleme. Örneğin her biri kendi işlem hattına sahip olan iki mikro hizmet aynı ortama dağıtıyor. Dağıtım geçmişi listesi, bu ortamı etkileyen tüm işlem hatlarının belirlenmesine yardımcı olur ve her bir işlem hattı tarafından dağıtım sırasının görselleştirilene yardımcı olur.

    Dağıtım geçmişi

  • Ortama yeni dağıtılan işlemelerin ve iş öğelerinin listesini görmek için iş ayrıntılarına inin.

    Dağıtım geçmişi altındaki işlemeler

Güvenlik

Kullanıcı izinleri

Kullanıcı izinleriyle ortamları kimlerin oluştura, görüntüleme, kullanma ve yönetmeyi denetleme. Dört rol vardır: Oluşturucu (kapsam: tüm ortamlar), Okuyucu, Kullanıcı ve Yönetici. Belirli bir ortamın kullanıcı izinleri panelinde devralınan izinleri ayarlayın ve her ortam için rolleri geçersiz kılabilirsiniz.

  1. Yetkilendirmek istediğiniz ortama gidin.
  2. Ayarları görüntülemek için Güvenlik'i seçin.
  3. Kullanıcı izinleri+Kullanıcı ekleveya grup'atıklayın ve ardından uygun bir rol seçin.
Rol Açıklama
Oluşturucu Ortamlar merkezi 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 mevcut olmayan bir YAML işlem hattını tetiklemek için gereklidir.
Okuyucu Bu rolün üyeleri ortamı görüntülemeye devam eder.
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.

Not

  • Kullanıcı arabirimi aracılığıyla bir ortam oluşturmanız, yalnızca oluşturucuya Yönetici rolü verilmesini sağlar. Kullanıcı arabirimini kullanarak üretim ortamı gibi korumalı ortamlar oluşturmanız gerekir.

İşlem hattı izinleri

Ortama dağıtım için tüm veya seçili işlem hatlarını yetkilendirmek üzere işlem hattı izinlerini kullanın.

  • Ortamda veya kaynakta Açık erişimi kaldırmak için İşlem hattı izinlerini kısıtla'yatıklayın.
  • Belirli işlem hatlarının bir ortama veya belirli bir kaynağa dağıtmasına izin vermek için işlem + hatları listesinden seçim yapmak için seçeneğini kullanın.

Sonraki adımlar

Onaylar ve denetimleri tanımlama

SSS

S: Ortam oluşturma denemesi sırasında neden hata iletisi alıyorum?

Y: "Erişim reddedildi: {Kullanıcı} eylemi yapmak için Oluşturma izinleri gerekiyor" iletisiyle görüyorsanız, kuruluş düzeyinde izinlerinizi denetleyin. Kuruluş kullanıcıları Ayarlargidin ve paydaş rolüne sahip olup olamayabilirsiniz. Paydaş rolü ortam oluşturamaktadır. Erişim düzeyinizi değiştirin ve ortam oluştura olup olamaynızı kontrol edin. Daha fazla bilgi için bkz. Kullanıcı ve izin yönetimi hakkında SSS.

S: Neden "İş XXXX: ORTAM XXXX bulunamadı. Ortam yok veya kullanım için yetkilendirildi" mi?

A: Hatanın olası nedenlerinden bazıları:

  • Bir YAML işlem hattı yazar ve YAML dosyasında mevcut olmayan bir ortama başvurursanız, Azure Pipelines otomatik olarak oluşturur:

    • Web deneyiminde YAML işlem hattı oluşturma sihirbazını Azure Pipelines ve henüz oluşturulmamış bir ortama başvurursınız.
    • Web düzenleyicisini kullanarak YAML dosyasını Azure Pipelines ve mevcut olmayan bir ortama başvuru ekledikten sonra işlem hattını kaydedin.
  • Aşağıdaki akışlarda Azure Pipelines kullanıcı ortam oluşturma hakkında bilgi yok: BAŞKA bir dış kod düzenleyicisi kullanarak YAML dosyasını güncelleştirin, var olmayan bir ortama başvuru ekleyin ve ardından el ile veya sürekli tümleştirme işlem hattının tetiklensin. Bu durumda Azure Pipelines kullanıcı hakkında bilgi yok. Daha önce bu durumu, tüm proje katkıda bulunanlarını ortamın yönetici rolüne ekleyerek ele aldık. Projenin herhangi bir üyesi daha sonra bu izinleri değiştirebilir ve başkalarının ortama erişmesini önlenebilir.

  • Ortamı oluşturmak için çalışma zamanı parametrelerini kullanıyorsanız, bu parametreler çalışma zamanında genişletilirken başarısız olur. Ortam oluşturma derleme zamanında gerçekleşir, bu nedenle ortamı oluşturmak için değişkenleri kullanmamız gerekir.

  • Paydaş erişim düzeyine sahip bir kullanıcı, paydaşlar depoya erişmezken ortamı oluşturamaz.