Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.