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.
Mulai menggunakan GitHub Actions dengan menggunakan alur kerja untuk menyebarkan pembaruan database ke Azure Database for PostgreSQL.
Prasyarat
Anda memerlukan:
- Sebuah akun Azure dengan langganan aktif. Buat akun secara gratis.
- Repositori GitHub dengan data sampel (
data.sql). Jika Anda tidak memiliki akun GitHub, daftar secara gratis. - Instans server Azure Database for PostgreSQL yang fleksibel.
- Buat Database Azure untuk PostgreSQL.
Gambaran umum file alur kerja
Alur kerja GitHub Actions ditentukan oleh file YAML (.yml) di jalur /.github/workflows/ di repositori Anda. Definisi ini berisi berbagai langkah dan parameter yang membentuk alur kerja.
File memiliki dua bagian:
| Section | Tasks |
|---|---|
| Authentication | 1. Buat info masuk penyebaran. |
| Sebarkan | 1. Sebarkan database. |
Menghasilkan kredensial penyebaran
Untuk menggunakan tindakan Azure Login dengan OIDC, Anda perlu mengonfigurasi kredensial identitas gabungan pada aplikasi Microsoft Entra atau identitas terkelola yang ditetapkan pengguna.
Opsi 1: Aplikasi Microsoft Entra
- Buat aplikasi Microsoft Entra dengan principal layanan menggunakan portal Azure, Azure CLI, atau Azure PowerShell.
- Salin nilai untuk ID Klien, ID Langganan, dan ID Direktori (penyewa) untuk digunakan nanti di alur kerja GitHub Actions Anda.
- Tetapkan peran yang sesuai untuk perwakilan layanan Anda dengan portal Azure, Azure CLI, atau Azure PowerShell.
- Mengonfigurasi kredensial identitas federasi pada aplikasi Microsoft Entra untuk mempercayai token yang dikeluarkan oleh GitHub Actions ke repositori GitHub Anda.
Opsi 2: Identitas terkelola yang ditetapkan pengguna
- Buat identitas terkelola yang ditetapkan oleh pengguna.
- Salin nilai untuk ID Klien, ID Langganan, dan ID Direktori (penyewa) untuk digunakan nanti di alur kerja GitHub Actions Anda.
- Tetapkan peran yang sesuai ke identitas terkelola yang ditetapkan penggunaAnda.
- Konfigurasikan kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna untuk mempercayai token yang dikeluarkan oleh GitHub Actions ke repositori GitHub Anda.
Salin string koneksi Azure Database for PostgreSQL
Di portal Azure, buka instans server fleksibel Azure Database for PostgreSQL Anda dan dari menu sumber daya, di bawah Pengaturan, pilih Sambungkan. Di halaman tersebut, gunakan kotak kombo Nama database untuk memilih nama database yang ingin Anda sambungkan.
Perluas bagian Sambungkan dari aplikasi Anda, dan salin ADO.NET string koneksi, dan ganti nilai {your_password} tempat penampung dengan kata sandi Anda yang sebenarnya. string koneksi terlihat mirip dengan ini.
Server={servername.postgres.database.azure.com};Database={your_database};Port=5432;User Id={adminusername};Password={your_password};Ssl Mode=Require;
Anda menggunakan string koneksi sebagai rahasia GitHub.
Mengonfigurasi rahasia GitHub
Anda perlu memberikan ID Klien, ID Direktori (penyewa), dan ID Langganan aplikasi Anda ke tindakan masuk. Nilai ini bisa disediakan secara langsung di alur kerja atau bisa disimpan di rahasia GitHub dan direferensikan dalam alur kerja Anda. Menyimpan nilai sebagai GitHub rahasia adalah opsi yang lebih aman.
Di GitHub, buka repositori Anda.
Pilih Keamanan > Rahasia dan variabel > Tindakan.
Pilih Rahasia repositori baru.
Membuat rahasia untuk
AZURE_CLIENT_ID,AZURE_TENANT_ID, danAZURE_SUBSCRIPTION_ID. Salin nilai-nilai ini dari aplikasi Microsoft Entra atau identitas terkelola yang ditetapkan pengguna untuk rahasia GitHub Anda:Rahasia GitHub Aplikasi Microsoft Entra atau identitas terkelola yang ditetapkan pengguna AZURE_CLIENT_ID ID Pelanggan AZURE_SUBSCRIPTION_ID (ID Langganan Azure) Identifikasi Langganan AZURE_TENANT_ID (ID Penyewa Azure) ID Direktori (Penyewa) Nota
Untuk alasan keamanan, sebaiknya gunakan Rahasia GitHub daripada meneruskan nilai langsung ke alur kerja.
Menambahkan alur kerja Anda
Buka Tindakan untuk repositori GitHub Anda.
Pilih Siapkan alur kerja Anda sendiri.
Hapus semuanya setelah bagian
on:dari file alur kerja Anda. Misalnya, alur kerja Anda yang tersisa mungkin terlihat seperti ini.name: CI on: push: branches: [ main ] pull_request: branches: [ main ]Ganti nama alur
PostgreSQL for GitHub Actionskerja Anda dan tambahkan tindakan checkout dan masuk. Tindakan ini memeriksa kode situs Anda dan mengautentikasi dengan Azure menggunakan rahasia GitHub yang Anda buat sebelumnya.name: PostgreSQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}Gunakan tindakan Penyebaran Azure PostgreSQL untuk menyambungkan ke instans server fleksibel Azure Database for PostgreSQL Anda. Ganti
POSTGRESQL_SERVER_NAMEdengan nama server Anda. Anda harus memiliki file data Azure Database for PostgreSQL bernamadata.sqldi tingkat akar repositori Anda.- uses: azure/postgresql@v1 with: connection-string: ${{ secrets.AZURE_POSTGRESQL_CONNECTION_STRING }} server-name: POSTGRESQL_SERVER_NAME plsql-file: './data.sql'Selesaikan alur kerja Anda dengan menambahkan tindakan untuk keluar dari Azure. Berikut alur kerja yang telah selesai. File muncul di
.github/workflowsfolder repositori Anda.name: PostgreSQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - uses: azure/postgresql@v1 with: server-name: POSTGRESQL_SERVER_NAME connection-string: ${{ secrets.AZURE_POSTGRESQL_CONNECTION_STRING }} plsql-file: './data.sql' # Azure logout - name: logout run: | az logout
Tinjau penerapan Anda
Buka Tindakan untuk repositori GitHub Anda.
Buka hasil pertama untuk melihat log terperinci dari eksekusi alur kerja Anda.
Membersihkan sumber daya
Saat database dan repositori Azure Database for PostgreSQL Anda tidak lagi diperlukan, bersihkan sumber daya yang Anda sebarkan dengan menghapus grup sumber daya dan repositori GitHub Anda.