Aracılığıyla paylaş


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

Microsoft Power Platform için GitHub Actions aşağıdaki bölümlerde açıklanmaktadır. Ayrıca örnek GitHub iş akışları da gösterilmektedir. GitHub eylemleri ve bunları indirme hakkında daha fazla bilgi için Microsoft Power Platform için GitHub Eylemleri konusuna gidin.

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. GitHub deponuza, hizmet sorumlusu veya kullanıcı kimlik bilgilerini parola olarak ekleyebilir ve bunları iş akışlarınızında kullanabilirsiniz.

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

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

Yapılandırıldıktan sonra, Hizmet Sorumlusunu Eylem komut dosyalarınızda çağırabilirsiniz.

GitHub eylemi komut dosyanızda Ortam Değişkenleri olarak tanımlanacak parametreler:

  • Şunun gibi Uygulama Kimliği: WF_APPLICATION_ID:<your application id>
  • Şunun gibi Kiracı Kimliği: WF_TENANT_ID:<your tenant id>

İstemci parolası, GitHub parolası olarak eklenip depolanmalıdır ve bu parolaya şunun gibi bir parametre kullanarak iş akışının içinden başvurulur: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Yardımcı görevleri

Kullanılabilir yardımcı görev aşağıda açıklanmıştır.

actions yüklemesi

GitHub Eylemler iş akışı bir çalıştırıcı bağlamında Power Platform CLI yüklemesini zorlar ve zaman aşımı hatası oluşursa, aşağıdaki gibi ek bir eylemle (actions-install) sürüm 1'i (@v1) kullanmanız gerekir.

Ö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 Tools Yükle görevini, diğer Power Platform GitHub Eylemleri öncesinde iş akışınıza ilk görev olarak eklemeniz gerekir.
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 Eylemlerinde GitHub Eylemleri'nin ek örneklerini bulabilirsiniz.

whoAmI

Hizmete bağlanarak ve WhoAmI [SDK/Web API'sı] isteği göndererek servis bağlantısını doğrular. İşleme başlamadan önce bağlantıyı doğrulamak için bu görevin GitHub iş akışınızın erken bir bölümüne eklenmesi yararlı olabilir.

Parametre Açıklama
environment-url Bağlanmakta olduğunuz ortamın URL'si.
user-name Bağlanmak için kullandığınız hesabın kullanıcı adı.
password-secret user-name için parola. GitHub parolaları Gizli Anahtarlar altındaki Ayarlar'da tanımlanır. Tanımlandıktan ve kaydettikten sonra parola 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 kimlik doğrulaması yaparken kiracı kimliği.

Çözüm görevleri

Bu görevler çözümlere karşı eylemler gerçekleştirirler ve aşağıdakileri içerir.

import-solution

Hedef ortama bir çözüm alı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ı.
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 gizli anahtar. 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.

export-solution

Kaynak ortamdan bir çözümü verir.

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ğlanırken kullandığınız hesabın kullanıcı adı.
password-secret (Gerekli) Kullanıcı adı/parola kimlik doğrulaması kullanıyorsanız user-name parolası. GitHub parolaları Gizli Anahtarlar altındaki Ayarlar'da tanımlanır. Tanımlandıktan ve kaydettikten sonra parola 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 kimlik doğrulaması yaparken 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 ortamdan dışarı aktarılacak çözüm .zip dosyasının yolu ve dosya adı.
managed (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ını alır ve birden çok XML dosyasına ve diğer dosyalara bu dosyaların bir kaynak denetim sistemi tarafından daha kolay yönetilebilmesi için bunları kaldırır.

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

pack-solution

Bu görev, kaynak denetimi tarafından temsil edilen bir çözümü başka bir ortama alınabilen bir çözüm .zip dosyası olarak paketler.

Parametre Açıklama
solution-file (Gerekli) Çözümün paketleneceği solution.zip dosyasının yolu ve dosya adı (ör. 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: Yönetilmeyen (önerilen), Yönetilen 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 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ü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 kimlik doğrulaması yaparken kiracı kimliği.

clone-solution

Çözümü belirli bir ortam için klonlar.

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ü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 kimlik doğrulaması yaparken kiracı kimliği.
solution-name (Gerekli) Klonlamak için gereken çözüm .zip dosyasının yolu ve adı (örneğin, out/CI/ALMLab.zip).
solution-version Çözümün klonlanacak 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 devam eden çalışma yapıtlarına 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 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ı.
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 kimlik doğrulaması yaparken kiracı kimliği.
yol (Gerekli) Denetlemek istediğiniz çözüm dosyasının yolu ve adı.
geo Microsoft Power Platform Denetleyicisi hizmetinin hangi coğrafi konumunun kullanılacağı. Varsayılan değer: 'united states'.
rule-level-override Bir JSON kural dizisi ve düzeylerini içeren dosyanın yolu. Kabul edilen değerler şunlardır: Kritik, en 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ükseltme yeteneğini sağlar.

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ü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 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 olarak maksimum zaman uyumsuz bekleme süresi. Varsayılan değer 60 dakikadır.

Paket görevleri

Bu görevler paketlere karşı eylemler gerçekleştirirler ve aşağıdakileri içerir.

deploy-package

Paketi bulunan bir paket DLL'sini veya zip dosyasını dağıtma olanağı sağlar.

Not

Bu eylem yalnızca Windows'da desteklenir.

Parametre Tanım
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ı.
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 kimlik doğrulaması yaparken kiracı kimliği.
paket (Gerekli) Paket dll dosyası veya paket içeren zip dosyasının yolu.

Toplam 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 Tanım
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ü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 kimlik doğrulaması yaparken 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 Yüklenecek site verilerinin standart (1) veya gelişmiş veri modelini (2) kullanacağını belirtir. Varsayılan değer: '1'.

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 uygulamasında kataloğa karşı eylemler gerçekleştirirler ve aşağıdakileri içerir.

Not

Şimdilik, Power Platform için katalog görevleri bir Önizleme sürümüdür.

yükle

Hedef ortama bir Catalog öğesi yükleyin.

Parametre Veri Akışı Açıklaması
katalog-öğe-kimlik (Gerekli) Hedef ortama yüklenecek Katalog öğesi.
target-url (Gerekli) Katalog öğesi yüklemesi için hedef ortamın URL'si (örneğin, "https://YourOrg.crm.dynamics.com").
ayarlar (Gerekli) Çalıştırılacak yükleme çerçevesi için çalışma zamanı paketi ayarları. Dize biçimi key=value|key=value olmalıdır.
hedef-sürüm Yüklenecek hedef sürüm. Boş bırakılırsa, yayımlanan sürüm seçilir.
anket-durum İsteğinizin durumunu kontrol etmek için anket.

gönder

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

Parametre Veri Akışı Açıklaması
yol (Gerekli) Katalog gönderme belgesinin yolu.
paket-zip Paket zip dosyasının yolu.
çözüm-zip Çözüm zip dosyasının yolu.
anket-durum İsteğinizin denetim durumu için yoklama yapma.

durum

Catalog yükleme/gönderme isteğinin durumunu alın.

Parametre Veri Akışı Açıklaması
izleme-kimlik (Gerekli) İzleme kimliğini iste.
Tür (Gerekli) İstek türü (değerler: Yükle, Gönder)

GitHub iş akışı yazma

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ını tamamlayın.

Daha fazla bilgi: GitHub Eylemleri Hakkında

Ayrıca bkz.

GitHub Eylemleri Microsoft Power Platform