Mengotomatiskan integrasi berkelanjutan menggunakan rilis Azure Pipelines

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Berikut ini adalah panduan untuk menyiapkan rilis Azure Pipelines yang mengotomatiskan penyebaran pabrik data ke beberapa lingkungan.

Persyaratan

  • Langganan Azure yang ditautkan ke Azure DevOps Server (sebelumnya Visual Studio Team Foundation Server) atau Azure Repos yang menggunakan titik akhir layanan Azure Resource Manager.

  • Pabrik data dikonfigurasi dengan integrasi Azure Repos Git.

  • Brankas kunci Azure yang berisi rahasia untuk setiap lingkungan.

Menyiapkan rilis Azure Pipelines

  1. Di Azure DevOps, buka proyek yang dikonfigurasi dengan pabrik data Anda.

  2. Di sisi kiri halaman, pilih Alur, lalu pilih Rilis.

    Select Pipelines, Releases

  3. Pilih Alur baru, atau, jika Anda memiliki alur yang ada, pilih Baru, lalu Alur rilis baru.

  4. Pilih templat Pekerjaan kosong.

    Select Empty job

  5. Di kotak Nama tahap, masukkan nama lingkungan Anda.

  6. Pilih Tambahkan artefak, lalu pilih repositori git yang dikonfigurasi dengan pabrik data pengembangan Anda. Pilih cabang publikasi repositori untuk Cabang default. Secara default, cabang penerbitannya adalah adf_publish. Untuk Versi default, pilih Terbaru dari cabang default.

    Add an artifact

  7. Menambahkan tugas Penyebaran Azure Resource Manager:

    a. Dalam tampilan tahap, pilih Tampilkan tugas tahap.

    Stage view

    b. Buat tugas baru. Cari Penyebaran Templat ARM, lalu pilih Tambahkan.

    c. Dalam tugas Penyebaran, pilih langganan, grup sumber daya, dan lokasi untuk pabrik data target. Berikan info masuk jika perlu.

    d. Di daftar Tindakan, pilih Buat atau perbarui grup sumber daya.

    e. Pilih tombol elipsis (...) di samping kotak Templat. Telusuri templat Azure Resource Manager yang dihasilkan di cabang publikasi repositori git yang dikonfigurasi. Cari file ARMTemplateForFactory.json di folder <FactoryName> cabang adf_publish.

    f. Pilih di sebelah kotak Parameter templat untuk memilih file parameter. Cari file ARMTemplateParametersForFactory.json di folder >FactoryName< cabang adf_publish.

    g. Pilih di sebelah kotak Ganti parameter templat, dan masukkan nilai parameter yang diinginkan untuk pabrik data target. Untuk info masuk yang berasal dari Azure Key Vault, masukkan nama rahasia di antara tanda kutip ganda. Misalnya, jika nama rahasia adalah cred1, masukkan "$(cred1)" untuk nilai ini.

    h. Pilih Bertambah bertahap untuk Mode penyebaran.

    Peringatan

    Dalam mode Penyebaran lengkap, sumber daya yang ada di grup sumber daya, tetapi tidak ditentukan dalam templat Resource Manager baru akan dihapus. Untuk informasi selengkapnya, lihat Mode Penyebaran Azure Resource Manager

    Data Factory Prod Deployment

  8. Simpan alur rilis.

  9. Untuk memicu rilis, pilih Buat rilis. Untuk mengotomatiskan pembuatan rilis, lihat Pemicu rilis Azure DevOps

    Select Create release

Penting

Dalam skenario CI/CD, jenis runtime integrasi (IR) di lingkungan yang berbeda harus sama. Misalnya, jika Anda memiliki IR yang dihost sendiri di lingkungan pengembangan, IR yang sama juga harus memiliki jenis yang dihost sendiri di lingkungan lain, seperti pengujian dan produksi. Demikian pula, jika berbagi runtime integrasi dalam beberapa tahap, Anda harus mengonfigurasi runtime integrasi sebagai yang dihost sendiri tertaut di semua lingkungan, seperti pengembangan, pengujian, dan produksi.

Mendapatkan rahasia dari Azure Key Vault

Jika Anda memiliki rahasia untuk diteruskan dalam templat Azure Resource Manager, sebaiknya Anda menggunakan Azure Key Vault dengan rilis Azure Pipelines.

Ada dua cara untuk menangani rahasia:

  • Tambahkan rahasia ke file parameter. Untuk informasi selengkapnya, lihat Menggunakan Azure Key Vault untuk melewati nilai parameter aman selama penyebaran.

    Buat salinan file parameter yang diunggah ke cabang publikasi. Atur nilai parameter yang ingin didapatkan dari Key Vault dengan menggunakan format ini:

    {
        "parameters": {
            "azureSqlReportingDbPassword": {
                "reference": {
                    "keyVault": {
                        "id": "/subscriptions/<subId>/resourceGroups/<resourcegroupId> /providers/Microsoft.KeyVault/vaults/<vault-name> "
                    },
                    "secretName": " < secret - name > "
                }
            }
        }
    }
    

    Jika Anda menggunakan metode ini, rahasia akan diambil dari brankas kunci secara otomatis.

    File parameter juga harus berada di cabang publikasi.

  • Tambahkan tugas Azure Key Vault sebelum tugas Penyebaran Azure Resource Manager seperti yang dijelaskan di bagian sebelumnya:

    1. Pada tab Tugas, buat tugas baru. Cari Azure Key Vault dan tambahkan.

    2. Di tugas Key Vault, pilih langganan tempat Anda membuat brankas kunci. Masukkan info masuk jika perlu, lalu pilih brankas kunci.

    Add a Key Vault task

Berikan izin ke agen Azure Pipelines

Tugas Azure Key Vault mungkin gagal dengan kesalahan Akses Ditolak jika izin yang benar tidak diatur. Unduh log rilis, dan cari file .ps1 yang berisi perintah untuk memberikan izin ke agen Azure Pipelines. Anda dapat menjalankan perintah secara langsung. Atau, Anda dapat menyalin ID utama dari file dan menambahkan kebijakan akses secara manual di portal Microsoft Azure. Get dan List adalah izin minimum yang diperlukan.

Memperbarui pemicu aktif

Pasang modul Azure PowerShell terbaru dengan mengikuti petunjuk dalam Cara menginstal dan mengonfigurasi Azure PowerShell.

Peringatan

Jika tidak menggunakan modul PowerShell dan Data Factory versi terbaru, Anda mungkin mengalami kesalahan deserialisasi saat menjalankan perintah.

Penyebaran dapat gagal jika Anda mencoba memperbarui pemicu aktif. Untuk memperbarui pemicu aktif, Anda perlu menghentikannya secara manual, lalu memulai ulang setelah penyebaran. Anda dapat melakukannya menggunakan tugas Azure PowerShell:

  1. Pada tab Tugas rilis, tambahkan tugas Azure PowerShell. Pilih versi tugas yang merupakan versi Azure PowerShell terbaru.

  2. Pilih langganan tempat pabrik Anda berada.

  3. Pilih Jalur File Skrip sebagai jenis skrip. Anda diwajibkan menyimpan skrip PowerShell dalam repositori Anda. Skrip PowerShell berikut dapat digunakan untuk menghentikan pemicu:

    $triggersADF = Get-AzDataFactoryV2Trigger -DataFactoryName $DataFactoryName -ResourceGroupName $ResourceGroupName
    
    $triggersADF | ForEach-Object { Stop-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name $_.name -Force }
    

Anda dapat menyelesaikan langkah serupa (dengan fungsi Start-AzDataFactoryV2Trigger) untuk memulai ulang pemicu setelah penyebaran.

Tim pabrik data telah menyediakan contoh skrip pra dan pos penyebaran.

Catatan

Gunakan PrePostDeploymentScript.Ver2.ps1 apabila Anda hanya ingin menonaktifkan/mengaktifkan pemicu yang telah dimodifikasi alih-alih menonaktifkan/mengaktifkan semua pemicu selama CI/CD.

Peringatan

Pastikan untuk menggunakan PowerShell Core dalam tugas ADO untuk menjalankan skrip