GitHub Actions ile özel ilkeler dağıtma

GitHub Actions doğrudan GitHub deponuzda özel sürekli tümleştirme (CI) ve sürekli dağıtım (CD) iş akışları oluşturmanıza olanak tanır. Bu makalede, GitHub Actions kullanarak Azure Active Directory B2C (Azure AD B2C) özel ilkelerinin dağıtımını otomatikleştirme adımları açıklanmaktadır.

Özel ilke dağıtım işlemini otomatikleştirmek için, Azure AD B2C özel ilkelerini dağıtmak için GitHub Eylemi'ni kullanın. Bu GitHub Action, Azure AD B2C topluluğu tarafından geliştirilmiştir.

Bu eylem, Azure AD B2C özel ilkelerini Microsoft Graph API kullanarak Azure AD B2C kiracınıza dağıtır. İlke henüz kiracınızda yoksa oluşturulur. Aksi takdirde, değiştirilir.

Önemli

Azure Pipelines ile Azure AD B2C özel ilkelerini yönetmek şu anda Microsoft Graph API /beta uç noktasında kullanılabilen önizleme işlemlerini kullanmaktadır. Bu API'lerin üretim uygulamalarında kullanımı desteklenmez. Daha fazla bilgi için bkz. Microsoft Graph REST API beta uç noktası başvurusu.

Önkoşullar

Özel ilkeler klasörü seçme

GitHub deponuz tüm Azure AD B2C ilke dosyalarınızı ve diğer varlıkları içerebilir. Deponuzun kök dizininde, özel ilkelerinizi içeren mevcut bir klasör oluşturun veya seçin.

Örneğin, ilkeler adlı bir klasör seçin. Azure AD B2C özel ilke dosyalarınızı ilkeler klasörüne ekleyin. Ardından Değişiklikleri işleyin .

Değişiklikleri göndermeyin . Dağıtım iş akışını ayarladıktan sonra bunu daha sonra yapacaksınız.

Microsoft Graph uygulaması kaydetme

GitHub Eylemi'nin Microsoft Graph API ile etkileşim kurmasına izin vermek için Azure AD B2C kiracınızda bir uygulama kaydı oluşturun. Henüz yapmadıysanız bir Microsoft Graph uygulaması kaydedin.

GitHub Eylemi'nin Microsoft Graph'taki verilere erişmesi için kayıtlı uygulamaya ilgili uygulama izinlerini verin. Uygulama kaydının API İzinleri içinde Microsoft Graph>İlke İlkesi.ReadWrite.TrustFramework> izni verin.

GitHub şifreli gizli dizisi oluşturma

GitHub gizli dizileri bir kuruluşta, depoda veya depo ortamında oluşturduğunuz şifrelenmiş ortam değişkenleridir. Bu adımda, MS Graph uygulaması kaydetme adımında daha önce kaydettiğiniz uygulamanın uygulama gizli dizisini depolaacaksınız.

Azure AD B2C özel ilkelerini dağıtmak için GitHub Eylemi, Microsoft Graph API ile etkileşime geçmek için kullanılan bir erişim belirteci almak için gizli diziyi kullanır. Daha fazla bilgi için bkz. Depo için şifrelenmiş gizli diziler oluşturma.

GitHub gizli dizisi oluşturmak için şu adımları izleyin:

  1. GitHub'da deponun ana sayfasına gidin.
  2. Deponuzun adının altında Ayarlar'ı seçin.
  3. Sol kenar çubuğunda Gizli Diziler'i seçin.
  4. Yeni depo gizli dizisi'ni seçin.
  5. Ad alanına ClientSecret yazın.
  6. Değer için daha önce oluşturduğunuz uygulama gizli dizisini girin.
  7. Add secret (Gizli dizi ekle) öğesini seçin.

GitHub iş akışı oluşturma

GitHub iş akışı, deponuza eklediğiniz otomatik bir yordamdır. İş akışları bir veya daha fazla işten oluşur ve bir olay tarafından zamanlanabilir veya tetiklenebilir. Bu adımda, özel ilkenizi dağıtan bir iş akışı oluşturursunuz.

İş akışı oluşturmak için şu adımları izleyin:

  1. GitHub'da deponuzun ana sayfasına gidin.

  2. Deponuzun adının altında Eylemler'i seçin.

    GitHub Actions sekmesini gösteren ekran görüntüsü

  3. Daha önce bir iş akışı yapılandırmadıysanız, iş akışını kendiniz ayarla'yı seçin. Aksi takdirde Yeni İş Akışı'yı seçin.

    Yeni iş akışı oluşturmayı gösteren ekran görüntüsü

  4. GitHub, klasöründe adlı main.yml bir iş akışı dosyası oluşturmayı teklif eder .github/workflows . Bu dosya, Azure AD B2C ortamınız ve dağıtılacak özel ilkeler dahil olmak üzere iş akışı hakkında bilgiler içerir. GitHub web düzenleyicisinde aşağıdaki YAML kodunu ekleyin:

    on: push
    
    env:
      clientId: 00000000-0000-0000-0000-000000000000
      tenant: your-tenant.onmicrosoft.com
    
    jobs:
      build-and-deploy:
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v2
    
        - name: 'Upload TrustFrameworkBase Policy'
          uses: azure-ad-b2c/deploy-trustframework-policy@v3
          with:
            folder: "./Policies"
            files: "TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xml"
            tenant: ${{ env.tenant }}
            clientId: ${{ env.clientId }}
            clientSecret: ${{ secrets.clientSecret }}
    
  5. YAML dosyasının aşağıdaki özelliklerini güncelleştirin:

    Section Name Değer
    env clientId MS Graph uygulaması kaydetme adımında kaydettiğiniz uygulamanın uygulama (istemci) kimliği.
    env tenant Azure AD B2C kiracı adınız (örneğin, contoso.onmicrosoft.com).
    with folder Özel ilke dosyalarının depolandığı bir klasör, örneğin. ./Policies
    with files Dağıtılacak ilke dosyalarının virgülle ayrılmış listesi, örneğin. TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xml

    Önemli

    Aracıları çalıştırırken ve ilke dosyalarını karşıya yüklerken doğru sırada yüklendiğinden emin olun:

    1. TrustFrameworkBase.xml
    2. TrustFrameworkLocalization.xml
    3. TrustFrameworkExtensions.xml
    4. SignUpOrSignin.xml
    5. ProfileEdit.xml
    6. PasswordReset.xml
  6. Start commit (İşlemeye başla) öğesini seçin.

  7. İşleme iletisi alanlarının altında, işlemenizin geçerli dala mı yoksa yeni bir dala mı ekleneceğini belirtin. Çekme isteği oluşturmak için Yeni dosya işle veya Yeni dosya öner'i seçin.

İş akışınızı test etme

Oluşturduğunuz iş akışını test etmek için özel ilkenizin değişikliklerini gönderme . İşiniz çalışmaya başladıktan sonra çalıştırmanın ilerleme durumunun görselleştirme grafiğini görebilir ve github'da her adımın etkinliğini görüntüleyebilirsiniz.

  1. GitHub'da deponuzun ana sayfasına gidin.

  2. Deponuzun adının altında Eylemler'i seçin.

  3. Sol kenar çubuğunda, oluşturduğunuz iş akışını seçin.

  4. İş akışı çalıştırmaları'nın altında, görmek istediğiniz çalıştırmanın adını seçin.

    İş akışı etkinliğini seçmeyi gösteren ekran görüntüsü

  5. İşler'in altında veya görselleştirme grafiğinde görmek istediğiniz işi seçin.

  6. Her adımın sonuçlarını görüntüleyin. Aşağıdaki ekran görüntüsünde Özel ilkeyi karşıya yükleme adım günlüğü gösterilmektedir.

    Özel ilkeyi karşıya yükleme adım günlüğü

İsteğe bağlı: İş akışınızı zamanlama

Oluşturduğunuz iş akışı gönderme olayı tarafından tetikleniyor. İsterseniz, iş akışını tetikleyen başka bir olay seçebilirsiniz, örneğin çekme isteği.

POSIX cron söz dizimiyle belirli UTC saatlerinde çalışacak bir iş akışı da zamanlayabilirsiniz. Zamanlama olayı, bir iş akışını zamanlanmış bir zamanda tetiklemenize olanak tanır. Daha fazla bilgi için bkz . Zamanlanmış olaylar.

Aşağıdaki örnek iş akışını her gün 5:30 ve 17:30 UTC'de tetikler:

on:
  schedule:
    # * is a special character in YAML so you have to quote this string
    - cron:  '30 5,17 * * *'

İş akışınızı düzenlemek için:

  1. GitHub'da deponuzun ana sayfasına gidin.

  2. Deponuzun adının altında Eylemler'i seçin.

  3. Sol kenar çubuğunda, oluşturduğunuz iş akışını seçin.

  4. İş akışı çalıştırmaları'nın altında, görmek istediğiniz çalıştırmanın adını seçin.

  5. Menüden üç noktayı seçin ...ve ardından İş akışı dosyasını görüntüle'yi seçin.

    İş akışı dosyasını görüntülemeyi gösteren ekran görüntüsü

  6. GitHub web düzenleyicisinde Düzenle'yi seçin.

  7. Yukarıdaki örne geçin on: push .

  8. Değişikliklerinizi işleyin.

Sonraki adımlar