Öğretici: Microsoft Power Platform için GitHub Actions kullanarak çözüm dağıtımlarını otomatikleştirme

Bu eğitimde şunları öğreniyorsunuz:

  • Yeni bir GitHub deposu oluşturun
  • Microsoft Power Platform için GitHub Actions kullanarak iki GitHub iş akışı oluşturma

İş akışları bir geliştirme ortamından uygulamanızı (yönetilmeyen çözüm olarak) otomatik olarak dışarı aktarabilir, derleme yapıtı oluşturabilir (yönetilen çözüm) ve uygulamayı üretim ortamınıza dağıtabilir. Bu öğreticide, oluşturduğunuz ALMLab çözümü ve önceki öğreticilerde ayarladığınız ortamlar kullanılır.

İlgili öğreticiler: Kullanmaya başlayın ve Model temelli uygulama oluşturun.

GitHub hesabı oluşturma

  1. https://github.com Adresine gidip Kaydol veya Ücretsiz deneme başlat'ı seçin (veya mevcut bir hesabınız varsa oturum açın).

    Hesap oluştur

  2. Hesabınızı oluşturduktan sonra, Depo oluştur veya Yeni seçeneğini belirleyerek bir depo oluşturun.

    Depo oluştur

    Aşağıdaki alternatif giriş ekranını görebilirsiniz:

    Yeni bir depo oluştur

  3. Yeni deponuzu oluşturun ve adını poweractionslab olarak adlandırınız. Depoyu başlatmak için README dosyası ekle'yi seçip Depo oluştur'u seçtiğinizden emin olun.

    Depoyu başlat.

Service Principal Kimlik Doğrulaması için yeni bir gizli anahtar oluşturma

  1. Deponuza gidin ve Ayarlar'ı seçin. Gizli Bilgiler'i genişletin ve ardından Eylemler'i seçin.

  2. Gizli anahtarlar sayfasında gizli anahtarı PowerPlatformSPN olarak adlandırın. Microsoft Entra içinde oluşturduğunuz uygulama kaydındaki istemci gizli dizisini Değer alanına girin ve ardından Gizli dizi ekle'yi seçin. Bu öğreticinin devamında GitHub iş akışlarını tanımlayan YML dosyalarında istemci gizli anahtarına başvuracaksınız.

    hizmet sorumlusu gizli dizisini oluşturma

    İstemci gizli anahtarı artık güvenli bir şekilde GitHub gizli anahtarı olarak depolanır.

Çözüm dosyasını yeni bir dala dışarı aktarmak ve paketini açmak için iş akışı oluşturma

  1. Eylemler'i ve ardından iş akışını kendiniz ayarlayın'ı seçin. Alternatif olarak, Yapılandır'ı, bu depo için önerilen bölümünün altındaki Basit iş akışı kutusunda seçin.

    İş akışını ayarlayın.

  2. GitHub Actions kullanmaya başlamanıza yardımcı olmak için temel iş akışına sahip yeni bir YAML dosyası görürsünüz.

    Örnek YML dosyası

  3. Önceden oluşturulmuş içeriği silin ve ardından içeriği export-and-branch-solution-with-spn-auth.yml dosyasından yapıştırın. Dosyayı olarak export-and-branch-solution.ymlyeniden adlandırın.

    Yeniden adlandırın ve içeriği değiştirin.

  4. <ENVIRONMENTURL> öğesini, dışa aktarma işlemini yapmak istediğiniz geliştirme ortamının URL'si (örneğin: https://poweractionsdev.crm.dynamics.com) ile güncelleştirin.

  5. <APPID> ve <TENANT ID> öğelerini değerlerinizle güncelleştirin.

    • Kimlik bilgileri kullanıyorsanız, export-and-branch-solution.yml dosyasını, export-and-branch-solution-with-spn-auth.yml dosya içeriği yerine yapıştırın. <USERNAME> öğesini ortama bağlanmak için kullandığınız kullanıcı adıyla güncelleştirin.

      İçeriği yeniden adlandır ve değiştir

    İpucu

    GitHub Actions hakkında bilgi sahibi değilseniz ve daha fazla bilgi edinmek istiyorsanız https://docs.github.com/en/actions adresindeki resmi belgelere göz atın.

  6. Artık değişikliklerinizi kaydetmeye hazırsınız. Commit’i başlat seçin, başlık alanına Create export yml yazın ve ardından bir açıklama ekleyin (isteğe bağlı). Ardından Yeni dosyayı işle'yi seçin.

    Commit işlemini başlat.

Tebrikler, aşağıdaki eylemleri kullanarak ilk GitHub iş akışınızı oluşturdunuz:

  • Who Am I: Dışarı aktarmak istediğiniz ortama başarıyla bağlanabilmenizi sağlar.
  • Çözümü Dışa Aktar: Çözüm dosyasını geliştirme ortamınızdan dışarı aktarır.
  • Çözüm Paketini Açma: Sunucunun dışarı aktarmış olduğu çözüm dosyası, birleştirilmiş yapılandırma dosyaları içeren sıkıştırılmış (zip) bir dosyadır. Bu ilk dosyalar kaynak kod yönetimi için uygun değildir çünkü kaynak kodu yönetim sistemlerinin dosyalar üzerindeki farkları doğru şekilde belirlemesini ve kaynak denetimine işlemek istediğiniz değişiklikleri yakalamasını sağlayacak şekilde yapılandırılmamışlardır. Kaynak denetimi depolama ve işleme için uygun hale getirmek için çözüm dosyalarını açmanız gerekir.
  • Branch Solution: Dışarı aktarılan çözümü depolamak için yeni bir dal oluşturur.

Dışarı aktarma ve paketi açma iş akışını test etme

  1. Sonra, iş akışının çalıştığını test edin. Eylemler'e gidin, İş akışını çalıştır'ı seçin ve İş akışını çalıştır'ı seçin. ALMLab yerine farklı bir çözüm adı kullanırsanız, buradaki değeri değiştirin, ancak diğer değerleri aynı tutun.

    İş akışını çalıştırın.

  2. 5-10 saniye sonra iş akışı başlar. İlerleme durumunu izlemek için çalışan iş akışını seçebilirsiniz.

    İş akışını görüntülemek için tıklayın

    İş akışını seçin ve görüntüleyin.

  3. İş akışı tamamlandıktan sonra, çözümün solutions/ALMLab klasörüne açıldığı yeni bir dalın oluşturulduğunu denetleyin. Kod sekmesine gidin ve branch’ler açılır menüsünü genişletin.

  4. Eylemin oluşturduğu dalı seçin.

  5. Klasörün yeni dalda oluşturulduğunu solutions/ALMLab denetleyin. Ardından, değişiklikleri ana dalda birleştirmek için bir çekme talebi oluşturun. Katkıda Bulun'a tıklayın ve açılır menüde Çekme isteğini aç'ı seçin.

  6. Çekme isteği aç ekranında, isterseniz bir başlık ve açıklama ekleyin, ardından seçin Çekme isteği oluştur'u.

  7. Ekran, yeni çekme talebini gösterecek şekilde güncelleştirilir. Pull request'i oluşturduğunuzda, dalınızın ana dalla çakışmadığı onayını alırsınız. Bu onay, değişiklikleri otomatik olarak ana dala birleştirebileceğiniz anlamına gelir. Merge pull request seçin ve ardından Birleştirmeyi onayla seçin. İsteğe bağlı olarak, dal sil'i seçerek şimdi geçersiz olan dalı kaldırın.

    Dalları görüntüleme

  8. Varsayılan (ana) dala dönün ve çözümün orada kullanılabilir olup olmadığını denetleyin.

Derleme artefaktı oluşturmak ve bunu üretime aktarmak için yeniden kullanılabilir bir iş akışı oluşturma

Bu bölümde, şunları yapan ek bir iş akışı oluşturun:

  • Bir yönetilen çözüm oluşturur ve GitHub yapıtı olarak yayımlar
  • Derleme yapıtını üretim ortamına aktarır
  1. Eylemler'e gidin ve Yeni iş akışı'nı seçin.

    Yeni iş akışı oluşturma

  2. İş akışını kendiniz ayarlayın'ı seçin.

    İş akışı ayarlayın.

  3. İş akışının başlığını release-solution-to-prod-with-inputs olarak yeniden adlandırın. release-solution-to-prod-with-inputs.yml dosyasındaki içeriği kopyalayın ve Yeni dosyayı düzenle ekranına yapıştırın.

    Yeniden adlandırın ve kodu yapıştırın.

  4. Değişiklikleri işleyin. Commit'i başlat'ı seçin ve ardından başlık ve açıklama ekleyin (isteğe bağlı). Ardından Yeni dosyayı kaydet'i seçin.

    Değişiklikleri kaydet

Release olayında yeniden kullanılabilir iş akışını çağırma

Bu bölümde, yeniden kullanılabilir iş akışını release olayı üzerinde çağıracaksınız.

  1. Eylemler'e gidin ve Yeni iş akışı'nı seçin.

    Yeni iş akışı oluştur.

  2. "Kendiniz bir iş akışı oluşturma" seçeneğini seçin.

    İş akışı ayarlayın.

  3. İş akışının başlığını release-action-call olarak yeniden adlandırın. release-action-call.yml dosyasındaki içeriği kopyalayın ve Yeni dosyayı düzenle ekranına yapıştırın.

    Kodu yeniden adlandırın ve yapıştırın.

  4. Yeni iş akışı dosyasında aşağıdaki değişkenleri güncelleştirin:

    • Yönetilen çözümü oluşturmak için kullandığınız derleme ortamının URL'siyle güncelleştirin <BUILD_ENVIRONMENT> . Örneğin: https://poweractionsbuild.crm.dynamics.com.
    • <PROD_ENVIRONMENT> öğesini dağıttığınız üretim ortamının URL'siyle güncelleyin. Örneğin: https://poweractionsprod.crm.dynamics.com.
    • Bu öğreticinin önceki bölümlerinde oluşturduğunuz kaydı seçerek Microsoft Azure portalı'ndaki <APP_ID> bulduğunuz Uygulama (İstemci) Kimliği ile güncelleştirin.
    • Bu öğreticinin önceki bölümlerinde oluşturduğunuz kaydı seçerek <TENANT_ID> bulduğunuz Dizin (kiracı) kimliğiyle güncelleştirin.
  5. Değişiklikleri işleyin. Commit başlat'ı seçin ve ardından başlık (isteğe bağlı) ve açıklama ekleyin (isteğe bağlı). Ardından Yeni dosyayı kaydet'i seçin.

    Değişiklikleri kaydet.

Üretime yayınlama iş akışını test edin

Artık son iş akışını test etmeye hazırsınız. Bu iş akışı, üretime yeni bir sürüm dağıtıldığında tetiklenir.

  1. Sürümler bölümüne gidin.

    Sürümlere gidin.

  2. Yeni sürüm taslağı oluştur'u seçin.

  3. Bir sürüm etiketi ve bir başlık ekleyin, ardından Sürümü yayımla'yı seçin.

  4. Çalışan iş akışını görüntülemek için Eylemler'i seçin.

    İş akışını görüntülemek için seçin.

  5. Eylemleri çalışırken görüntülemek için çalışan iş akışını seçin.

    İş akışını görüntüle.

  6. Her eylemin tamamlanmasını bekleyin.

    Dalı görüntüle.

  7. İş akışı tamamlandıktan sonra üretim ortamınızda oturum açın ve çözümün yönetilen çözüm olarak dağıtıldığını doğrulayın.

Güncelleştirmeyi dağıtın ve üretim sürümünden önce değişiklikleri inceleyin

Uçtan uca süreci test edin ve ardından, bir uygulamadaki değişiklikleri üretim ortamına dağıtmadan önce nasıl görüntüleyip doğrulayabileceğinizi görün.

  1. Geliştirme ortamınızda ALMLab çözümüne gidin ve Edit seçeneğini belirleyin ya da çözümün görünen adını seçin.

    Çözümü düzenleyin.

  2. İzin İsteği tablosunu seçin ve görüntüleyin.

    Tabloyu görüntüleyin.

  3. + Sütun ekle'yi seçin ve aşağıdaki şekilde gösterildiği gibi yeni sütunu oluşturun.

    Sütun ekle.

    Güncellenmiş alan değerleri:**

    • Görünen ad: Onaylandı
    • Veri türü: Evet/Hayır
  4. Tamam'ı seçin.

  5. Tabloyu Kaydet'i seçin. Sütun ekle.

  6. GitHub depolarınıza geri dönün, Actions sekmesini seçin, İş akışını çalıştır seçeneğini seçin ve İş akışını çalıştır düğmesini seçin.

    İş akışını çalıştırın.

  7. 5-10 saniye sonra iş akışı başlar. İlerleme durumunu izlemek için çalışan iş akışını seçin.

    İş akışı seçin.

    İş akışını görüntüle.

  8. İş akışı tamamlandıktan sonra Code ve ardından Branches seçerek yeni dala gidin.

    Dala git.

  9. contribute seçeneğini genişletip Open pull request seçeneğini belirleyerek oluşturduğunuz dalı seçin.

  10. Bir başlık ekleyin (isteğe bağlı) ve ardından Pull request oluştur seçin.

  11. İçerik güncelleştirmelerinin ardından Değiştirilen dosyalar sekmesini seçin.

  12. Çözümdeki değişikliklerin, dosyanın bu bölümünün ana daldaki aynı dosyaya kıyasla eklendiğini belirtmek için yeşil renkle vurgulandığına dikkat edin.

  13. Konuşma sekmesine geri dönün. Çekme talepleri'ni seçin ve ardından daha önce oluşturduğunuz çekme talebini seçin.

  14. Çekme isteği sayfasında, güncelleştirilmiş çözüm dosyasını ana dalınızla birleştirmek için Ezip birleştir'i seçin. İsteğe bağlı olarak, artık main ile birleştirilen dalı silin.

    Yeni dal için pull request aç, değişiklikleri görüntüle ve ana dala birleştir

  15. Yeni bir sürüm oluşturmak ve güncelleştirilmiş çözümün üretim ortamınıza dağıtıldığını doğrulamak için Üretime sürümü test etme iş akışı bölümündeki adımları izleyin.

Tebrikler, GitHub eylemlerini kullanarak örnek bir CI/CD iş akışını başarıyla ayarladınız!

Ayrıca bakınız

Fikir'den üretime kadar iş akışınızı otomatikleştirin