GitHub Actions yang tersedia untuk pengembangan Microsoft Power Platform

Bagian berikut ini menjelaskan GitHub Actions untuk Microsoft Power Platform. Bagian-bagian tersebut juga memperlihatkan contoh alur kerja GitHub. Untuk informasi selengkapnya tentang GitHub Actions dan cara mengunduhnya, lihat GitHub Actions untuk Microsoft Power Platform.

Konfigurasikan kredensial yang akan digunakan dengan Tindakan GitHub dengan Microsoft Power Platform

Banyak tindakan mengharuskan Anda menyambung ke lingkungan Microsoft Dataverse. Tambahkan service principal atau kredensial pengguna sebagai secret di repositori GitHub Anda lalu gunakan di workflow Anda.

  • Untuk detail tentang cara menyiapkan secrets di GitHub, lihat Encrypted secrets.

  • Untuk detail tentang cara menyiapkan autentikasi service principal untuk Microsoft Power Platform, lihat Alat Build DevOps.

Setelah mengonfigurasi kredensial, Anda dapat memanggil service principal dari dalam skrip Action Anda.

Tentukan parameter berikut dalam Skrip Tindakan GitHub Anda sebagai Variabel Lingkungan:

  • ID Aplikasi, seperti: WF_APPLICATION_ID:<your application id>
  • ID Penyewa, seperti: WF_TENANT_ID:<your tenant id>

Tambahkan client secret sebagai GitHub secret. Referensikan dari dalam alur kerja dengan menggunakan parameter seperti: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Tugas pembantu

Tugas pembantu berikut tersedia.

actions-install

Saat alur kerja GitHub Actions memaksa penginstalan Power Platform CLI dalam konteks runner, dan terjadi kesalahan waktu habis, gunakan versi 1 (@v1) dengan tindakan tambahan (actions-install) seperti yang ditunjukkan dalam contoh berikut.

Penting

  • Menggunakan versi 1 (@v1) dapat menyebabkan pembaruan pada tindakan GitHub yang ada yang dapat mengakibatkan alur kerja saat ini diperbarui.
  • Tambahkan tugas Install Power Platform Tools sebagai tugas pertama dalam alur kerja Anda sebelum GitHub Actions lain untuk Power Platform.
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'

Anda dapat menemukan lebih banyak sampel GitHub Actions di Power Platform Actions.

whoAmI

Memverifikasi sambungan layanan dengan menyambung ke layanan dan mengirim permintaan WhoAmI [SDK/web api]. Tugas ini dapat berguna untuk disertakan di awal alur kerja GitHub Anda untuk memverifikasi konektivitas sebelum pemrosesan dimulai.

Parameter KETERANGAN
environment-url URL untuk lingkungan yang Anda sambungkan.
user-name Nama pengguna akun yang Anda gunakan untuk terhubung.
password-secret Kata sandi untuk nama pengguna. Tentukan kata sandi GitHub di Pengaturan di bagian Rahasia. Anda tidak dapat mengambil rahasia setelah menentukan dan menyimpannya.
app-id ID aplikasi untuk mengautentikasi. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
Rahasia klien Rahasia klien yang digunakan untuk mengautentikasi alur GitHub. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
ID Penyewa ID penyewa saat mengautentikasi dengan app-id dan client-secret.

Tugas solusi

Tugas ini melakukan tindakan terhadap solusi dan mencakup hal berikut ini.

Impor Solusi

Mengimpor solusi ke lingkungan target.

Parameter KETERANGAN
environment-url (Wajib) URL untuk lingkungan target yang akan diimpor solusinya ke dalam (misalnya, https://YourOrg.crm.dynamics.com).
user-name (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, nama pengguna akun yang Anda gunakan untuk terhubung.
password-secret (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, kata sandi akun yang Anda gunakan untuk terhubung.
solution-file (Wajib) Jalur dan nama file solusi yang akan diimpor.
app-id ID aplikasi untuk mengautentikasi. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
Rahasia klien Rahasia klien yang digunakan untuk mengautentikasi alur GitHub. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
ID Penyewa ID penyewa saat mengautentikasi dengan app-id dan client-secret.

export-solution

Mengekspor solusi dari lingkungan sumber.

Parameter KETERANGAN
environment-url (Wajib) URL untuk lingkungan yang akan diekspor solusinya dari (misalnya, https://YourOrg.crm.dynamics.com).
user-name (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, nama pengguna akun yang Anda gunakan untuk terhubung.
password-secret (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, kata sandi untuk nama pengguna. Tentukan kata sandi GitHub di Pengaturan di bagian Rahasia. Anda tidak dapat mengambil rahasia setelah menentukan dan menyimpannya.
app-id ID aplikasi untuk mengautentikasi. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
Rahasia klien Rahasia klien yang digunakan untuk mengautentikasi alur GitHub. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
ID Penyewa ID penyewa saat mengautentikasi dengan app-id dan client-secret.
solution-name (Diperlukan) Nama solusi yang akan diekspor. Selalu gunakan nama solusi, bukan nama tampilan.
solution-output-file (wajib) Jalur dan nama file dari file Solution.zip untuk diekspor lingkungan sumbernya.
terkelola (Wajib) Diatur ke benar untuk mengekspor sebagai solusi terkelola; (salah) default adalah ekspor sebagai solusi yang tidak terkelola.

unpack-solution

Mengambil file solusi terkompresi dan menguraikannya ke dalam beberapa file XML. Anda dapat lebih mudah membaca dan mengelola file-file ini dalam sistem kontrol sumber.

Parameter KETERANGAN
solution-file (Diperlukan) Jalur dan nama file dari file solution.zip untuk dibongkar.
solution-folder (Diperlukan) Folder jalur dan target tempat Anda ingin membongkar solusi.
solution-type (Diperlukan) Jenis solusi yang ingin Anda bongkar. Pilihan mencakup: Tidak terkelola (disarankan), Terkelola, dan Keduanya.

pack-solution

Mengemas solusi yang diwakili dalam kontrol sumber ke dalam file Solution.zip yang dapat Anda impor ke lingkungan lain.

Parameter KETERANGAN
solution-file (Diperlukan) Jalur dan nama file file solution.zip untuk mengemas solusi ke dalam (misalnya, out/CI/ALMLab.zip).
solution-folder (Diperlukan) Folder jalur dan sumber solusi untuk dikemas.
solution-type (Opsional) Jenis solusi untuk dikemas. Pilihan mencakup: Tidak terkelola (disarankan), Terkelola, dan Keduanya.

publish-solution

Mempublikasikan penyesuaian solusi.

Parameter KETERANGAN
environment-url (Wajib) URL untuk lingkungan yang akan diterbitkan solusinya ke dalam (misalnya, https://YourOrg.crm.dynamics.com).
user-name (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, nama pengguna akun yang Anda gunakan untuk terhubung.
password-secret (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, kata sandi akun yang Anda gunakan untuk terhubung.
solution-file (Wajib) Jalur dan nama file solusi yang akan diimpor.
app-id ID aplikasi untuk mengautentikasi. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
Rahasia klien Rahasia klien yang digunakan untuk mengautentikasi alur GitHub. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
ID Penyewa ID penyewa saat mengautentikasi dengan app-id dan client-secret.

clone-solution

Mengkloning solusi untuk lingkungan tertentu.

Parameter KETERANGAN
environment-url (Wajib) URL untuk lingkungan yang akan dikloning solusinya dari (misalnya, https://YourOrg.crm.dynamics.com).
user-name (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, nama pengguna akun yang Anda gunakan untuk terhubung.
password-secret (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, kata sandi akun yang Anda gunakan untuk terhubung.
solution-file (Wajib) Jalur dan nama file solusi yang akan diimpor.
app-id ID aplikasi untuk mengautentikasi. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
Rahasia klien Rahasia klien yang digunakan untuk mengautentikasi alur GitHub. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
ID Penyewa ID penyewa saat mengautentikasi dengan app-id dan client-secret.
solution-name (Wajib) Jalur dan nama file solution.zip yang diperlukan untuk kloning (contoh: out/CI/ALMLab.zip).
solution-version Versi Solusi yang hendak dikloning.
target-folder Folder target untuk menempatkan solusi yang diekstrak. (misalnya, Git repository\target-solution-folder).
Working-directory Folder sementara untuk pekerjaan artefak yang sedang berlangsung yang diperlukan untuk mengkloning solusi.
default: root of the repository

check-solution

Memeriksa file solusi untuk mendeteksi inkonsistensi.

Parameter KETERANGAN
environment-url (Wajib) URL untuk lingkungan yang akan dikloning solusinya dari (misalnya, https://YourOrg.crm.dynamics.com).
user-name (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, nama pengguna akun yang Anda gunakan untuk terhubung.
password-secret (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, kata sandi akun yang Anda gunakan untuk terhubung.
app-id ID aplikasi untuk mengautentikasi. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
Rahasia klien Rahasia klien yang digunakan untuk mengautentikasi alur GitHub. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
ID Penyewa ID penyewa saat mengautentikasi dengan app-id dan client-secret.
path (Wajib) Jalur dan nama file solusi yang akan diperiksa.
geo Lokasi geo mana dari layanan Pemeriksa Microsoft Power Platform yang akan digunakan. Nilai default adalah 'amerika serikat'.
rule-level-override Jalur untuk memberkas rangkaian aturan berisi larik JSON dan tingkat mereka. Nilai yang disetujui adalah: Penting, Tinggi, Rendah, dan Informasi. Misalnya: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}]
checker-logs-artifact-name Nama folder artefak yang akan diunggah log pemeriksa Microsoft Power Platform-nya. Nilai default-nya adalah 'CheckSolutionLogs'.

upgrade-solution

Memutakhirkan solusi.

Parameter KETERANGAN
environment-url (Wajib) URL untuk lingkungan yang akan dikloning solusinya dari (misalnya, https://YourOrg.crm.dynamics.com).
user-name (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, nama pengguna akun yang Anda gunakan untuk terhubung.
password-secret (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, kata sandi akun yang Anda gunakan untuk terhubung.
solution-file (Wajib) Jalur dan nama file solusi yang akan diimpor.
app-id ID aplikasi untuk mengautentikasi. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
Rahasia klien Rahasia klien yang digunakan untuk mengautentikasi alur GitHub. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
ID Penyewa ID penyewa saat mengautentikasi dengan app-id dan client-secret.
solution-name (wajib) Nama Solusi yang ditingkatkan.
asinkron Meningkatkan solusi secara asinkron.
max-async-wait-time Waktu tunggu asinkron maksimum dalam menit. Nilai default adalah 60 menit.

Tugas paket

Tugas ini melakukan tindakan terhadap paket.

deploy-package

Menyebarkan DLL paket atau file ZIP dengan paket.

Catatan

Tindakan ini hanya didukung pada Windows.

Parameter KETERANGAN
environment-url (Wajib) URL untuk lingkungan yang akan dikloning solusinya dari (misalnya, https://YourOrg.crm.dynamics.com).
user-name (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, nama pengguna akun yang Anda gunakan untuk terhubung.
password-secret (Wajib) Jika Anda menggunakan autentikasi nama pengguna/kata sandi, kata sandi akun yang Anda gunakan untuk terhubung.
app-id ID aplikasi untuk mengautentikasi. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
Rahasia klien Rahasia klien yang digunakan untuk mengautentikasi alur GitHub. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
ID Penyewa ID penyewa saat mengautentikasi dengan app-id dan client-secret.
paket (Diperlukan) Jalur ke file DLL atau ZIP yang berisi paket.

Tugas portal

Tugas ini melakukan tindakan berikut terhadap portal Power Pages.

upload-paportal

Mengunggah data ke Power Pages.

Parameter KETERANGAN
environment-url (Wajib) URL untuk lingkungan yang akan diimpor solusinya ke dalam (misalnya, https://YourOrg.crm.dynamics.com).
app-id ID aplikasi untuk mengautentikasi. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
Rahasia klien Rahasia klien yang digunakan untuk mengautentikasi alur GitHub. Parameter ini diperlukan saat mengautentikasi dengan kredensial Pokok layanan.
ID Penyewa ID penyewa saat mengautentikasi dengan app-id dan client-secret.
upload-path Jalur tempat konten situs web disimpan (alias: -p).
deployment-profile Mengunggah data portal dengan rincian lingkungan yang ditentukan melalui variabel profil pada file deployment-profiles/[profile-name].deployment.yaml.
model-version Menunjukkan apakah data situs yang akan diunggah menggunakan model data standar (1) atau model data yang ditingkatkan (2). Nilai defaultnya adalah 1.

Pelajari selengkapnya tentang Microsoft Power Platform CLI untuk Power Pages.

Tugas katalog (pratinjau)

Tugas-tugas ini melakukan tindakan terhadap katalog di Power Platform.

Catatan

Saat ini, tugas katalog untuk Power Platform sedang dalam pratinjau.

pasang

Menginstal item katalog ke lingkungan target.

Parameter KETERANGAN
catalog-item-id (Diperlukan) Item katalog untuk diinstal pada lingkungan target.
target-url (Diperlukan) URL lingkungan target untuk penginstalan item katalog (misalnya, https://YourOrg.crm.dynamics.com).
pengaturan (Wajib) Pengaturan paket runtime untuk kerangka kerja penginstalan untuk dijalankan. Format string harus key=value|key=value.
target-version Versi target yang akan diinstal. Jika Anda tidak menentukan versi, versi yang diterbitkan dipilih.
poll-status Jajak pendapat untuk memeriksa status permintaan Anda.

submit

Buat daftar semua item katalog yang diterbitkan dari lingkungan (organisasi) Dataverse saat ini.

Parameter KETERANGAN
path (Wajib) Jalur ke dokumen pengiriman katalog.
package-zip Jalur ke file zip paket.
solution-zip Jalur ke file zip solusi.
poll-status Jajak pendapat untuk memeriksa status permintaan Anda.

status

Dapatkan status penginstalan katalog atau pengiriman permintaan.

Parameter KETERANGAN
tracking-id (Diperlukan) ID pelacakan permintaan.
jenis (Diperlukan) Jenis permintaan. Nilai yang berlaku adalah Install atau Submit.

Penulisan alur kerja GitHub

Untuk mempelajari selengkapnya tentang menyusun alur kerja GitHub dengan menggunakan GitHub Actions, selesaikan lab GitHub Actions untuk Microsoft Power Platform.

Untuk informasi selengkapnya, lihat Tentang GitHub Actions.

Lihat Juga

Menggunakan GitHub Actions untuk Microsoft Power Platform