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.
Berlaku untuk:Azure SQL Database
Memulai dengan Tindakan GitHub dengan menggunakan alur kerja untuk menyebarkan pembaruan database ke Azure SQL Database.
Prasyarat
Anda memerlukan:
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Repositori GitHub dengan paket dacpac (
Database.dacpac). Jika Anda tidak memiliki akun GitHub, daftar secara gratis. - Azure SQL Database. Panduan Memulai Cepat: Membuat Database Tunggal Azure SQL Database.
- File .dacpac untuk diimpor ke database Anda.
Gambaran umum file alur kerja
Alur kerja GitHub Actions ditentukan oleh file YAML (.yml) di jalur /.github/workflows/ di repositori Anda. File ini memiliki langkah-langkah dan parameter yang membentuk alur kerja.
File memiliki dua bagian:
| Bagian | Tugas |
|---|---|
| Autentikasi | 1. Buat info masuk penyebaran. |
| Sebarkan | 2. 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 prinsipal layanan dengan Portal Microsoft 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 Microsoft 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
- Membuat identitas terkelola yang ditetapkan 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.
- Mengonfigurasi kredensial identitas gabungan pada identitas terkelola yang ditetapkan pengguna untuk mempercayai token yang dikeluarkan oleh GitHub Actions ke repositori GitHub Anda.
Salin string koneksi SQL
Di portal Microsoft Azure, buka Azure SQL Database Anda dan buka Pengaturan>String koneksi. Salin string koneksi ADO.NET. Ganti nilai tempat penampung untuk your_database dan your_password.
Anda akan mengatur string koneksi sebagai rahasia GitHub, AZURE_SQL_CONNECTION_STRING.
Mengonfigurasi rahasia GitHub
Anda perlu memberikan ID Klien aplikasi Anda , ID Direktori (penyewa) , dan ID Langganan untuk 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_TENANT_ID ID Direktori (Penyewa) Nota
Untuk alasan keamanan, sebaiknya gunakan Rahasia GitHub daripada meneruskan nilai langsung ke alur kerja.
Menambahkan rahasia string koneksi SQL
Di GitHub, buka repositori Anda.
Buka Pengaturan di menu navigasi.
Pilih Keamanan > Rahasia dan variabel > Tindakan.
Pilih Rahasia repositori baru.
Tempelkan string koneksi SQL Anda. Namai rahasia sebagai
AZURE_SQL_CONNECTION_STRING.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 dapat terlihat seperti ini.name: SQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ]Ganti nama alur kerja sebagai
SQL for GitHub Actionsdan tambahkan tindakan selesai dan masuk. Tindakan ini memeriksa kode situs Anda dan mengautentikasi dengan Azure menggunakanAZURE_CREDENTIALSrahasia GitHub yang Anda buat sebelumnya.name: SQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: windows-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 SQL untuk menyambungkan ke instans SQL Anda. Anda harus memiliki paket dacpac (
Database.dacpac) di tingkat dasar repositori Anda.AZURE_SQL_CONNECTION_STRINGGunakan rahasia GitHub yang Anda buat sebelumnya.- uses: azure/sql-action@v2.3 with: connection-string: ${{ secrets.AZURE_SQL_CONNECTION_STRING }} path: './Database.dacpac' action: 'publish'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: SQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: windows-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/sql-action@v2.3 with: connection-string: ${{ secrets.AZURE_SQL_CONNECTION_STRING }} path: './Database.dacpac' action: 'publish' # 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 SQL Anda tidak lagi diperlukan, hapus sumber daya yang Anda terapkan dengan menghapus grup sumber daya dan repositori GitHub Anda.