Microsoft Power Platform geliştirmesi için kullanılabilir GitHub Actions

Aşağıdaki bölümlerde Microsoft Power Platform için GitHub Actions açıklanmaktadır. Bölümler ayrıca örnek GitHub iş akışlarını da gösterir. GitHub Actions ve bunları indirme hakkında daha fazla bilgi için bkz. Microsoft Power Platform için GitHub Actions.

Microsoft Power Platform ile GitHub Actions ile birlikte kullanılacak kimlik bilgilerini yapılandırma

Eylemlerin çoğu bir Microsoft Dataverse ortamına bağlanmanızı gerektirir. hizmet sorumlusu kimliği veya kullanıcı kimlik bilgilerini GitHub deponuza gizli diziler olarak ekleyin ve bunları iş akışlarınızda kullanın.

  • GitHub'da gizli anahtarların nasıl ayarlanacağı hakkında ayrıntılı bilgi için bkz. Şifrelenmiş gizli anahtarlar.

  • Microsoft Power Platform için hizmet sorumlusu kimlik doğrulamasını ayarlama hakkında ayrıntılı bilgi için bkz. DevOps Build tools.

Kimlik bilgilerini yapılandırdıktan sonra, Eylem betiklerinizin içinden hizmet asıl öğesini çağırabilirsiniz.

GitHub Eylem Betiğinizde aşağıdaki parametreleri Ortam Değişkenleri olarak tanımlayın:

  • Uygulama kimliği, örneğin: WF_APPLICATION_ID:<your application id>
  • Kiracı Kimliği, örneğin: WF_TENANT_ID:<your tenant id>

İstemci secret’ını GitHub secret’ı olarak ekleyin. İş akışının içinden şuna benzer bir parametre kullanarak bu parametreye başvurun: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Yardımcı görevler

Aşağıdaki yardımcı iş kullanılabilir.

actions-install

Bir GitHub Actions iş akışı, bir çalıştırıcı bağlamında Power Platform CLI yüklemeyi zorladığında ve zaman aşımı hatası oluştuğunda, aşağıdaki örnekte gösterildiği gibi ek bir eylemle (actions-install) 1. sürümü (@v1) kullanın.

Önemli

  • Sürüm 1'in (@v1) kullanılması, varolan GitHub eylemlerinde güncelleştirmelere yol açarak geçerli iş akışlarının güncelleştirilmeleriyle sonuçlanabilir.
  • Power Platform Araçları'nı Yükle görevini, Power Platform için diğer GitHub Actions'lardan önce iş akışınızda ilk görev olarak ekleyin.
jobs:
    builds:
        runs-on: windows-latest   # alternate runner OS is: ubuntu-latest

    steps:
    - name: Install Power Platform Tools
        uses: microsoft/powerplatform-actions/actions-install@v1

    - name: Export Solution
         uses: microsoft/powerplatform-actions/export-solution@v1
      with:
         environment-url: 'https://myenv.crm.dynamics.com'
         user-name: 'me@myenv.onmicrosoft.com'
         password-secret: ${{ secrets.MYPASSWORD }}
         solution-name: aSolution
         solution-output-file: 'aSolution.zip'
         working-directory: 'out'

Power Platform Actions'ta daha fazla GitHub Actions örneği bulabilirsiniz.

whoAmI

Hizmete bağlanarak ve WhoAmI [SDK/Web API'sı] isteği göndererek servis bağlantısını doğrular. Bu görev, işlem başlamadan önce bağlantıyı doğrulamak için GitHub iş akışınıza erkenden dahil etmek açısından yararlı olabilir.

Parametre Açıklama
ortam-URL Bağlanmakta olduğunuz ortamın URL'si.
kullanıcı adı Bağlanmak için kullandığınız hesabın kullanıcı adı.
parola-gizli user-name parolası. GitHub parolalarını Ayarlar altında Gizli Diziler içinde tanımlayın. Bir gizli bilgiyi tanımlayıp kaydettikten sonra geri alamazsınız.
app-id Kimlik doğrulama için uygulama kimliği. Bu parametre, Hizmet Sorumlusu kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
client-secret GitHub ardışık düzeninin kimliğini doğrulamak için kullanılan gizli anahtar. Bu parametre, Hizmet Sorumlusu kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
tenant-id app-id ve client-secret ile kimlik doğrularken kullanılan tenant ID

Çözüm görevleri

Bu görevler çözümler üzerinde işlem gerçekleştirir ve aşağıdakileri içerir.

import-solution

Hedef ortama bir çözüm içe aktarır.

Parametre Açıklama
environment-url (Gerekli) Çözümü içeri aktarmak istediğiniz hedef ortamın URL'si (örneğin https://YourOrg.crm.dynamics.com).
user-name (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız, bağlanırken kullandığınız hesabın kullanıcı adını girin.
password-secret (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız, bağlanırken kullandığınız hesabın parolası.
solution-file (Gerekli) İçeri aktarmak istediğiniz çözüm dosyasının yolu ve adı.
app-id Kimlik doğrulama için uygulama kimliği. Bu parametre, Hizmet Sorumlusu kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
client-secret GitHub ardışık düzeninin kimliğini doğrulamak için kullanılan istemci gizli anahtarı. Bu parametre, Service Principal kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
tenant-id app-id ve client-secret ile kimlik doğrularken kiracı kimliği

export-solution

Bir çözümü kaynak ortamdan dışa aktarır.

Parametre Açıklama
environment-url (Gerekli) Çözümü dışarı aktarmak istediğiniz ortamın URL'si (örneğin https://YourOrg.crm.dynamics.com).
user-name (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız, bağlanmak için kullandığınız hesabın kullanıcı adını girin.
password-secret (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız, user-name için parola. GitHub parolalarını Ayarlar altında Gizli anahtarlar bölümünde tanımlayın. Bir gizliyi tanımlayıp kaydettikten sonra geri alamazsınız.
app-id Kimlik doğrulama için uygulama kimliği. Bu parametre, Hizmet Sorumlusu kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
client-secret GitHub ardışık düzeninin kimliğini doğrulamak için kullanılan istemci parolası. Bu parametre, Hizmet Sorumlusu kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
tenant-id app-id ve client-secret ile kimlik doğrulaması yapılırken kullanılan kiracı kimliği.
solution-name (Gerekli) Dışarı aktarılacak çözümün adı. Her zaman çözümün adını kullanın, görünen adı değil.
solution-output-file (Gerekli) Kaynak ortamın dışa aktarılacağı solution.zip dosyasının yolu ve dosya adı.
yönetilen (Gerekli) Yönetilen çözüm olarak dışarı aktarmak için true olarak ayarlayın; varsayılan ayar (false) yönetilmeyen çözüm olarak dışarı aktarmaktır.

unpack-solution

Sıkıştırılmış bir çözüm dosyası alır ve onu birden fazla XML dosyasına ayrıştırır. Bu dosyaları bir sürüm denetim sisteminde daha kolay okuyabilir ve yönetebilirsiniz.

Parametre Açıklama
solution-file (Gerekli) Paketi açılacak çözüm.zip dosyasının yolu ve dosya adı.
solution-folder (Gerekli) Çözümü ayıklamak istediğiniz yol ve hedef klasör.
solution-type (Gerekli) Ayıklamak istediğiniz çözümün türü. Seçenekler şunlardır: Yönetilmeyen (önerilen), Yönetilen ve Her ikisi.

pack-solution

Kaynak denetiminde temsil edilen bir çözümü başka bir ortama aktarabileceğiniz bir solution.zip dosyasına paketler.

Parametre Açıklama
solution-file (Gerekli) Çözümün içine paketleneceği solution.zip dosyasının yolu ve dosya adı (örneğin, out/CI/ALMLab.zip).
solution-folder (Gerekli) Paketin çözüm yolu ve kaynak klasörü.
solution-type (İsteğa Bağlı) Paketlenecek çözümün türü. Seçenekler şunlardır: Unmanaged (önerilen), Managed ve Her ikisi.

publish-solution

Çözüm özelleştirmelerini yayımlar.

Parametre Açıklama
environment-url (Gerekli) Çözümü yayımlamak istediğiniz hedef ortamın URL'si (örneğin https://YourOrg.crm.dynamics.com).
user-name (Gerekli) Kullanıcı adı/parola ile kimlik doğrulama kullanıyorsanız, bağlanmak için kullandığınız hesabın kullanıcı adı.
parola-gizli anahtar (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız, bağlanmak için kullandığınız hesabın parolası.
solution-file (Gerekli) İçeri aktarmak istediğiniz çözüm dosyasının yolu ve adı.
app-id Kimlik doğrulamak için kullanılacak uygulama kimliği. Bu parametre, Hizmet Sorumlusu kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
client-secret GitHub pipeline'ının kimliğini doğrulamak için kullanılan istemci gizli anahtarı. Bu parametre, Hizmet Asıl kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
tenant-id app-id ve client-secret ile kimlik doğrulaması yapılırken kullanılan kiracı kimliği.

clone-solution

Belirli bir ortam için çözümü klonlar.

Parametre Açıklama
environment-url (Gerekli) Çözümü klonlayacağınız ortamın URL’si (örneğin, https://YourOrg.crm.dynamics.com).
user-name (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız, bağlanmak için kullandığınız hesabın kullanıcı adını girin.
parola-gizli (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız, bağlanırken kullandığınız hesabın parolası.
solution-file (Gerekli) İçeri aktarmak istediğiniz çözüm dosyasının yolu ve adı.
app-id Kimlik doğrulama için uygulama kimliği. Bu parametre, Service Principal kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
client-secret GitHub ardışık düzeninde kimlik doğrulamak için kullanılan gizli anahtar. Bu parametre, Hizmet Sorumlusu kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
tenant-id app-id ve client-secret ile kimlik doğrularken kullanılan kiracı kimliği.
solution-name (Gerekli) Klonlamak için gereken solution.zip dosyasının yolu ve adı (örneğin, out/CI/ALMLab.zip).
solution-version Klonlanacak çözümün sürümü.
target-folder Ayıklanan çözümün yerleştirileceği hedef klasör. (örneğin, Git repository\target-solution-folder).
Working-directory Çözümü klonlamak için gerekli olan üzerinde çalışılan çıktılara ait geçici klasör.
varsayılan: root of the repository

check-solution

Tutarsızlıkları saptamak için çözüm dosyasını denetler.

Parametre Açıklama
environment-url (Gerekli) Çözümü klonlamak istediğiniz kaynak ortamın URL'si (örneğin https://YourOrg.crm.dynamics.com).
user-name (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız, bağlanmak için kullandığınız hesabın kullanıcı adını girin.
password-secret (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız, bağlanırken kullandığınız hesabın parolası.
app-id Kimlik doğrulama için uygulama kimliği. Bu parametre, Service Principal kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
client-secret GitHub ardışık düzeninin kimliğini doğrulamak için kullanılan istemci gizli anahtarı. Bu parametre, Service Principal kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
tenant-id app-id ve client-secret ile kimlik doğrularken kiracı ID’si.
yol (Gerekli) Denetlemek istediğiniz çözüm dosyasının yolu ve adı.
geo Microsoft Power Platform Checker hizmetinin hangi coğrafi konumunun kullanılacağı. Varsayılan değer 'united states'tir.
rule-level-override Bir JSON kural dizisi ve düzeylerini içeren a dosyasının yolu. Kabul edilen değerler şunlardır: Kritik, Yüksek, düşük ve bilgilendirici. Örnek: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}]
checker-logs-artifact-name Microsoft Power Platform denetleyici günlüklerinin yükleneceği yapıt klasörünün adı. Varsayılan değer: 'CheckSolutionLogs'.

upgrade-solution

Çözümü yükseltir.

Parametre Açıklama
environment-url (Gerekli) Çözümü klonlamak istediğiniz ortamın URL'si (örneğin https://YourOrg.crm.dynamics.com).
user-name (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız, bağlanırken kullandığınız hesabın kullanıcı adı.
password-secret (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız, bağlanırken kullandığınız hesabın parolası.
solution-file (Gerekli) İçeri aktarmak istediğiniz çözüm dosyasının yolu ve adı.
app-id Kimlik doğrulama için uygulama kimliği. Bu parametre, Hizmet Sorumlusu kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
client-secret GitHub ardışık düzeninde kimlik doğrulaması için kullanılan istemci sırrı. Bu parametre, Hizmet Sorumlusu kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
tenant-id app-id ve client-secret kimlik doğrulaması yaparken kiracı kimliği.
solution-name (Gerekli) Yükseltilecek çözümün adı.
async Çözümü zaman uyumsuz olarak yükseltir.
max-async-wait-time Dakika cinsinden maksimum eşzamansız bekleme süresi. Varsayılan değer 60 dakikadır.

Paket işlemleri

Bu görevler paketlere karşı eylemler gerçekleştirir.

paketi dağıt

Bir paket DLL’sini veya paket içeren bir ZIP dosyasını dağıtır.

Not:

Bu eylem yalnızca Windows'ta desteklenir.

Parametre Açıklama
environment-url (Gerekli) Çözümü klonlamak istediğiniz ortamdan alınacak URL (örneğin https://YourOrg.crm.dynamics.com).
user-name (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız, bağlanmak için kullandığınız hesabın kullanıcı adını girin.
password-secret (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız, bağlanırken kullandığınız hesabın parolası.
app-id Kimlik doğrulama için uygulama kimliği. Bu parametre, Hizmet Sorumlusu kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
client-secret GitHub ardışık düzeninin kimliğini doğrulamak için kullanılan gizli anahtar. Bu parametre, Service Principal kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
tenant-id app-id ve client-secret ile kimlik doğrulaması yapılırken kullanılan kiracı kimliği.
paket (Gerekli) Paket DLL'sinin veya paket içeren ZIP dosyasının yolu.

Portal görevleri

Bu görevler, Power Pages üzerinde aşağıdaki işlemleri gerçekleştirir.

upload-paportal

Power Pages'e veri yükler.

Parametre Açıklama
environment-url (Gerekli) Çözümü içeri aktarmak istediğiniz hedef ortamın URL'si (örneğin https://YourOrg.crm.dynamics.com).
app-id Kimlik doğrulama için uygulama kimliği. Bu parametre, Hizmet Sorumlusu kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
client-secret GitHub ardışık düzenini doğrulamak için kullanılan istemci gizli anahtarı. Bu parametre, Hizmet Sorumlusu kimlik bilgileriyle kimlik doğrulaması yapılırken gereklidir.
tenant-id app-id ve client-secret ile kimlik doğrularken kullanılan kiracı kimliği
upload-path Web sitesi içeriğinin saklandığı yol (diğer adı: -p).
deployment-profile deployment-profiles/[profile-name].deployment.yaml dosyasında profil değişkenleri aracılığıyla tanımlanan ortam ayrıntıları ile portal verilerini karşıya yükleyin.
model-version Karşıya yüklenecek site verilerinin standart () veya 2 (1) kullanıp kullanmadığını gösterir. Varsayılan değer 1 olarak belirlenmiştir.

Power Pages için Microsoft Power Platform CLI desteği hakkında daha fazla bilgi edinin.

Katalog görevleri (önizleme)

Bu görevler Power Platform'da kataloğa karşı eylemler gerçekleştirir.

Not:

Şu anda Power Platform için katalog görevleri önizleme aşamasındadır.

yükle

Hedef ortama bir Catalog öğesi yükleyin.

Parametre Açıklama
katalog öğesi kimliği (Gerekli) Hedef ortama yüklenecek katalog öğesi.
target-url (Gerekli) Katalog öğesi kurulumu için hedef ortamın URL'si (örneğin, https://YourOrg.crm.dynamics.com).
ayarlar (Gerekli) Yükleme çerçevesinin yürütülmesi için çalışma zamanı paketi ayarları. Dizenin biçimi key=value|key=value olmalıdır.
hedef-sürüm Yüklenecek hedef sürüm. Bir sürüm belirtmezseniz, yayımlanan sürüm seçilir.
anket-durum İsteğinizin durumunu kontrol etmek için sorgulayın.

gönder

Geçerli Dataverse ortamdan (kuruluş) tüm yayınlanmış katalog öğelerini listeleyin.

Parametre Açıklama
yol (Gerekli) Katalog gönderme belgesinin yolu.
paket-zip Paket zip dosyasının yolu.
solution-zip Çözüm zip dosyasının yolu.
anket-durum İsteğinizin durumunu sorgulayın.

durum

Katalog kurulumu veya gönderme isteğinin durumunu alın.

Parametre Açıklama
tracking-id (Gerekli) İzleme kimliğini iste.
Tip (Gerekli) İstek türü. Geçerli değerler: Install ve Submit.

GitHub iş akışı oluşturma

GitHub Actions kullanarak GitHub iş akışları oluşturma hakkında daha fazla bilgi edinmek için Microsoft Power Platform için GitHub Actions laboratuvarları tamamlayın.

Daha fazla bilgi için bkz. GitHub Actions hakkında.

Ayrıca bkz.

Microsoft Power Platform için GitHub Actions