Mulai Cepat: Menggunakan GitHub Actions untuk menyambungkan ke Azure Database for PostgreSQL - Server Fleksibel
BERLAKU UNTUK: Azure Database for PostgreSQL - Server Tunggal Azure Database for PostgreSQL - Server Fleksibel
Penting
Azure Database for PostgreSQL - Server Tunggal berada di jalur penghentian. Kami sangat menyarankan Agar Anda meningkatkan ke Azure Database for PostgreSQL - Server Fleksibel. Untuk informasi selengkapnya tentang migrasi ke Azure Database for PostgreSQL - Server Fleksibel, lihat Apa yang terjadi pada Server Tunggal Azure Database for PostgreSQL?.
Mulai menggunakan GitHub Actions dengan menggunakan alur kerja untuk menyebarkan pembaruan database ke server fleksibel Azure Database for PostgreSQL.
Prasyarat
Anda memerlukan:
- 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 fleksibel Azure Database for 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:
Bagian | Tugas |
---|---|
Autentikasi | 1. Buat info masuk penyebaran. |
Sebarkan | 1. Sebarkan database. |
Membuat info masuk penyebaran
Buatlah perwakilan layanan dengan perintah az ad sp create-for-rbac di Azure CLI. Jalankan perintah ini dengan Azure Cloud Shell di portal Microsoft Azure atau dengan memilih tombol Coba.
az ad sp create-for-rbac --name "myML" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
--json-auth
Parameter --json-auth
tersedia dalam versi >Azure CLI = 2.51.0. Versi sebelum penggunaan --sdk-auth
ini dengan peringatan penghentian.
Pada contoh di atas, ganti tempat penampung dengan ID langganan, nama grup sumber daya, dan nama aplikasi Anda. Output adalah objek JSON dengan kredensial penetapan peran yang menyediakan akses ke App Service yang serupa di bawah ini. Salin objek JSON ini untuk nanti.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
Salin server fleksibel Azure Database for PostgreSQL string koneksi
Di portal Azure, buka instans server fleksibel Azure Database for PostgreSQL Anda dan buka string Pengaturan> Koneksi ion. Salin string koneksi ADO.NET. Ganti nilai tempat penampung untuk your_database
dan your_password
. string koneksi terlihat mirip dengan ini.
Penting
- Untuk server tunggal Azure Database for PostgreSQL, gunakan
user=adminusername@servername
. Perhatikan bahwa@servername
diperlukan. - Untuk server fleksibel Azure Database for PostgreSQL, gunakan
user= adminusername
tanpa@servername
.
psql host={servername.postgres.database.azure.com} port=5432 dbname={your_database} user={adminusername} password={your_database_password} sslmode=require
Anda menggunakan string koneksi sebagai rahasia GitHub.
Mengonfigurasi rahasia GitHub
Di GitHub, buka repositori Anda.
Buka Pengaturan di menu navigasi.
Pilih Tindakan Rahasia keamanan > dan variabel>.
Pilih Rahasia repositori baru.
Tempelkan seluruh output JSON dari perintah CLI Azure ke bidang nilai rahasia. Namai rahasia sebagai
AZURE_CREDENTIALS
.Pilih Tambahkan rahasia.
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 Actions
kerja 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@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }}
Gunakan tindakan Penyebaran Azure PostgreSQL untuk menyambungkan ke instans server fleksibel Azure Database for PostgreSQL Anda. Ganti
POSTGRESQL_SERVER_NAME
dengan nama server Anda. Anda harus memiliki file data server fleksibel Azure Database for PostgreSQL bernamadata.sql
di 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/workflows
folder 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@v1 with: client-id: ${{ secrets.AZURE_CREDENTIALS }} - 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
Meninjau penyebaran 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 server fleksibel Azure Database for PostgreSQL Anda tidak lagi diperlukan, bersihkan sumber daya yang Anda sebarkan dengan menghapus grup sumber daya dan repositori GitHub Anda.