Bagikan melalui


GitHub Actions yang tersedia untuk pengembangan Microsoft Power Platform

GitHub Actions untuk Microsoft Power Platform dijelaskan di bagian berikut. Selain itu, contoh alur kerja GitHub juga ditampilkan. Untuk informasi lebih lanjut tentang Tindakan GitHub dan cara mengunduhnya, buka Tindakan GitHub 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. Anda dapat menambahkan kredensial utama layanan atau pengguna sebagai rahasia dalam penyimpanan GitHub, lalu menggunakannya dalam alur kerja.

  • Untuk rincian tentang cara mengkonfigurasi rahasia di GitHub, lihat rahasia dienkripsi

  • Untuk rincian tentang cara mengkonfigurasi autentikasi utama layanan untuk Microsoft Power Platform, lihat alat Build DevOps

Setelah dikonfigurasi, Anda dapat menghubungi Pokok Layanan dari dalam skrip Tindakan.

Parameter untuk ditentukan dalam Skrip Tindakan GitHub sebagai Variabel Lingkungan:

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

Rahasia klien harus ditambahkan dan disimpan sebagai Rahasia GitHub, dan akan direferensikan dari dalam alur kerja menggunakan parameter seperti: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Tugas pembantu

Tugas pembantu yang tersedia dijelaskan di bawah ini.

actions-install

Ketika alur kerja GitHub Actions memaksa penginstalan Power Platform CLI dalam konteks pelari, dan terjadi kesalahan batas waktu, maka Anda harus menggunakan versi 1 (@v1) dengan tindakan tambahan (actions-install) seperti di bawah ini.

Penting

  • Menggunakan versi 1 (@v1) dapat menyebabkan pembaruan pada tindakan GitHub yang ada yang dapat mengakibatkan alur kerja saat ini diperbarui.
  • Anda harus menambahkan tugas Instal Power Platform Tools sebagai tugas pertama dalam alur kerja Anda sebelum GitHub Actions untuk Power Platform lainnya.
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 sampel tambahan Tindakan GitHub Actions di Tindakan Power Platform.

whoAmI

Memverifikasi sambungan layanan dengan menyambung ke layanan dan mengirim permintaan WhoAmI [SDK/web api]. Tugas ini dapat berguna untuk dicakup sejak awal di 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. Kata sandi GitHub ditentukan dalam pengaturan dalam rahasia. Anda tidak dapat mengambil rahasia setelah didefinisikan dan disimpan.
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. Kata sandi GitHub ditentukan dalam pengaturan dalam rahasia. Anda tidak dapat mengambil rahasia setelah didefinisikan dan disimpan.
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

Memerlukan file solusi terkompresi dan menguraikannya menjadi beberapa file XML sehingga file ini dapat lebih mudah dikelola oleh 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 yang akan Anda gunakan untuk 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 diimpor ke lingkungan lain.

Parameter KETERANGAN
solution-file (Wajib) Jalur dan nama file dari file solution.zip untuk mengemas solusi ke (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 Deskripsi
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

Memberikan kemampuan untuk meningkatkan 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 dan mencakup yang berikut.

deploy-package

Memberikan kemampuan untuk menyebarkan paket dll atau file zip dengan paket.

Catatan

Tindakan ini hanya didukung di Windows.

Parameter Deskripsi
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 (Wajib) jalur ke dll paket atau file zip dengan paket.

Tugas portal

Tugas ini melakukan tindakan berikut terhadap portal Power Pages.

upload-paportal

Mengunggah data ke Power Pages.

Parameter Deskripsi
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 akan menggunakan (1) or model data stAndar yang ditingkatkan (2). Nilai default adalah '1'.

Pelajari selengkapnya tentang Microsoft Power Platform CLI untuk Power Pages.

Tugas katalog (pratinjau)

Tugas ini melakukan tindakan terhadap katalog di Power Platform dan menyertakan yang berikut ini.

Catatan

Saat ini, tugas katalog untuk Power Platform adalah rilis pratinjau.

pasang

Menginstal item katalog ke lingkungan target.

Parameter Deskripsi
catalog-item-id (Diperlukan) Item katalog yang akan 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 dibiarkan kosong, 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 Deskripsi
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 permintaan instal/kirim katalog.

Parameter Deskripsi
tracking-id (Diperlukan) Id pelacakan permintaan.
jenis (Wajib) Jenis permintaan (Nilai: Install, Submit)

Penulisan alur kerja GitHub

Untuk mempelajari lebih lanjut tentang menulis alur kerja GitHub menggunakan Tindakan GitHub untuk lab Microsoft Power Platform.

Informasi selengkapnya: Tentang Tindakan GitHub

Lihat Juga

Menggunakan GitHub Actions untuk Microsoft Power Platform