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:

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

  1. Di GitHub, buka repositori Anda.

  2. Buka Pengaturan di menu navigasi.

  3. Pilih Tindakan Rahasia keamanan > dan variabel>.

    Cuplikan layar menambahkan rahasia

  4. Pilih Rahasia repositori baru.

  5. Tempelkan seluruh output JSON dari perintah CLI Azure ke bidang nilai rahasia. Namai rahasia sebagai AZURE_CREDENTIALS.

  6. Pilih Tambahkan rahasia.

Menambahkan alur kerja Anda

  1. Buka Tindakan untuk repositori GitHub Anda.

  2. Pilih Siapkan alur kerja Anda sendiri.

  3. 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 ]
    
  4. 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 }}
    
  5. 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 bernama data.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'
    
  6. 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

  1. Buka Tindakan untuk repositori GitHub Anda.

  2. Buka hasil pertama untuk melihat log terperinci dari eksekusi alur kerja Anda.

    Log GitHub Actions berjalan.

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.

Langkah berikutnya