Bagikan melalui


Membuat dan menargetkan lingkungan

Layanan Azure DevOps | Azure DevOps Server 2022 | Azure DevOps Server 2020

Artikel ini menjelaskan cara membuat dan menargetkan lingkungan Azure Pipelines. Lingkungan adalah kumpulan sumber daya yang dapat Anda targetkan dengan penyebaran dari alur.

Lingkungan mewakili target logis tempat alur Anda menyebarkan perangkat lunak. Nama lingkungan yang khas adalah Dev, Test, QA, Staging, dan Production.

Catatan

Lingkungan Azure DevOps tidak tersedia di alur Klasik. Untuk alur Klasik, grup penyebaran menawarkan fungsionalitas serupa.

Lingkungan memberikan manfaat berikut:

  • Riwayat penyebaran. Nama alur dan detail eksekusi direkam untuk penyebaran ke lingkungan dan sumber dayanya. Dalam konteks beberapa alur yang menargetkan lingkungan atau sumber daya yang sama, Anda dapat menggunakan riwayat penyebaran lingkungan untuk mengidentifikasi sumber perubahan.

  • Keterlacakan penerapan dan item kerja. Anda dapat melihat pekerjaan dalam eksekusi alur yang menargetkan lingkungan. Anda juga dapat melihat penerapan dan item kerja yang baru disebarkan ke lingkungan. Keterlacakan juga memungkinkan Anda melacak apakah penerapan perubahan kode atau item kerja fitur/perbaikan bug mencapai lingkungan.

  • Kesehatan sumber daya diagnostik. Anda dapat memvalidasi apakah aplikasi berfungsi pada status yang diinginkan.

  • Keamanan. Anda dapat mengamankan lingkungan dengan menentukan pengguna dan alur mana yang diizinkan untuk menargetkan lingkungan.

Lingkungan adalah pengelompokan sumber daya di mana sumber daya itu sendiri mewakili target penyebaran aktual. Lingkungan Azure Pipelines saat ini mendukung jenis sumber daya Kubernetes dan komputer virtual.

Jika alur YAML mengacu pada lingkungan yang tidak ada:

  • Ketika pengguna yang melakukan operasi diketahui dan izin dapat ditetapkan, Azure Pipelines secara otomatis membuat lingkungan.

  • Ketika Azure Pipelines tidak memiliki informasi tentang pengguna yang melakukan operasi, misalnya dalam pembaruan YAML dari editor kode eksternal, alur gagal.

Prasyarat

Untuk menambahkan lingkungan, Anda memerlukan prasyarat berikut:

Membuat lingkungan

Untuk membuat lingkungan pertama Anda:

  1. Masuk ke organisasi Azure DevOps Anda di https://dev.azure.com/{yourorganization} dan buka proyek Anda.

  2. Pilih Lingkungan>Alur>Buat lingkungan.

    Cuplikan layar yang memperlihatkan Lingkungan.

  3. Masukkan informasi untuk lingkungan, lalu pilih Buat. Anda dapat menambahkan sumber daya ke lingkungan yang ada nanti.

    Cuplikan layar pembuatan lingkungan baru.

Tip

Anda dapat membuat lingkungan kosong dan mereferensikannya dari pekerjaan penyebaran sehingga Anda dapat merekam riwayat penyebaran terhadap lingkungan.

Anda dapat menggunakan Azure Pipelines untuk menyebarkan ke lingkungan. Untuk informasi selengkapnya, lihat Membangun dan menyebarkan ke Azure Kubernetes Service dengan Azure Pipelines.

Menargetkan lingkungan dari pekerjaan penyebaran

Pekerjaan penyebaran adalah kumpulan langkah-langkah yang berjalan secara berurutan. Anda dapat menggunakan pekerjaan penyebaran untuk menargetkan seluruh grup lingkungan sumber daya, seperti yang ditunjukkan dalam contoh cuplikan YAML berikut. Alur berjalan pada myVM komputer karena nama sumber daya tersebut ditentukan.

- stage: deploy
  jobs:
  - deployment: DeployWeb
    displayName: deploy Web App
    pool:
      vmImage: 'Ubuntu-latest'
    # creates an environment if it doesn't exist
    environment: 
      name: 'smarthotel-dev'
      resourceName: myVM
      resourceType: virtualMachine
    strategy:
      runOnce:
        deploy:
          steps:
          - script: echo Hello world

Menargetkan sumber daya lingkungan tertentu dari pekerjaan penyebaran

Anda dapat mencakup target penyebaran ke sumber daya tertentu dalam lingkungan, sehingga Anda dapat merekam riwayat penyebaran pada sumber daya tertentu. Langkah-langkah pekerjaan penyebaran secara otomatis mewarisi detail koneksi layanan dari sumber daya target pekerjaan penyebaran.

Dalam contoh berikut, nilai untuk kubernetesServiceConnection secara otomatis diteruskan ke tugas dari environment.resource input.

environment: 
  name: 'smarthotel-dev.bookings'
strategy: 
 runOnce:
   deploy:
     steps:
     - task: KubernetesManifest@0
       displayName: Deploy to Kubernetes cluster
       inputs:
         action: deploy
         namespace: $(k8sNamespace)
         manifests: $(System.ArtifactsDirectory)/manifests/*
         imagePullSecrets: $(imagePullSecret)
         containers: $(containerRegistry)/$(imageRepository):$(tag)

Menggunakan pemeriksaan persetujuan manual

Untuk mengontrol penyebaran ke lingkungan produksi, Azure Pipelines mendukung pemeriksaan persetujuan manual pada lingkungan. Pemeriksaan persetujuan tersedia untuk pemilik sumber daya untuk dikontrol saat tahap dalam alur menggunakan sumber daya. Pemilik sumber daya dapat menentukan persetujuan dan pemeriksaan yang harus dipenuhi sebelum tahap mengkonsumsi sumber daya tersebut dapat dimulai.

Peran Pembuat, Administrator, dan Pengguna lingkungan, tetapi bukan peran Pembaca, dapat mengelola persetujuan dan pemeriksaan. Sebagai pemilik lingkungan, Anda dapat mengontrol secara manual kapan tahap harus berjalan dengan menggunakan pemeriksaan persetujuan. Untuk informasi selengkapnya, lihat Menentukan persetujuan dan pemeriksaan.

Lihat lingkungan dalam detail eksekusi

Di bawah tab Lingkungan dari detail eksekusi alur, Anda dapat melihat semua lingkungan yang ditargetkan oleh pekerjaan penyebaran eksekusi alur.

Cuplikan layar yang memperlihatkan Lingkungan dalam detail eksekusi.

Catatan

Jika Anda menggunakan kluster privat Azure Kubernetes Service (AKS), tab Lingkungan tidak tersedia.

Lihat riwayat penyebaran

Anda dapat memilih tab Penyebaran di bagian Lingkungan Alur Azure untuk melihat riwayat penyebaran.

  • Lihat pekerjaan dari semua alur yang menargetkan lingkungan tertentu. Misalnya, dua layanan mikro yang masing-masing memiliki alurnya sendiri dapat disebarkan ke lingkungan yang sama. Riwayat penyebaran membantu mengidentifikasi semua alur yang memengaruhi lingkungan, dan juga membantu memvisualisasikan urutan penyebaran oleh setiap alur.

    Cuplikan layar yang memperlihatkan daftar riwayat penyebaran.

  • Untuk menelusuri detail pekerjaan, pilih tab Item perubahan dan Pekerjaan di halaman penyebaran. Tab memperlihatkan daftar penerapan dan item kerja yang disebarkan ke lingkungan. Setiap item daftar mewakili item baru dalam penyebaran tersebut.

    Pada tab Perubahan , daftar pertama menyertakan semua penerapan ke titik tersebut, dan daftar berikut ini hanya menyertakan perubahan untuk pekerjaan tersebut. Jika beberapa penerapan terkait dengan pekerjaan yang sama, ada beberapa hasil pada tab Perubahan .

    Cuplikan layar penerapan di bawah riwayat penyebaran.

  • Jika beberapa item kerja terkait dengan pekerjaan yang sama, ada beberapa hasil pada tab Item kerja .

    Cuplikan layar item kerja di bawah riwayat penyebaran.

Keamanan

Anda dapat mengamankan lingkungan Anda dengan mengatur izin pengguna dan izin alur.

Izin pengguna

Anda dapat mengontrol siapa yang dapat membuat, melihat, menggunakan, dan mengelola lingkungan dengan izin pengguna. Ada empat peran: Pembuat dengan cakupan semua lingkungan, Pembaca, Pengguna, dan Administrator.

Untuk menambahkan pengguna dengan menggunakan panel Izin pengguna lingkungan, buka Lingkungan tertentu yang ingin Anda otorisasi, pilih ikon Tindakan lainnya, dan pilih Keamanan.

Di panel Izin pengguna halaman Keamanan, pilih Tambahkan lalu pilih Pengguna atau grup dan Peran yang sesuai.

Di panel Izin pengguna, Anda juga dapat mengatur izin yang diwariskan, dan mengambil alih peran untuk lingkungan Anda.

Peran Deskripsi
Pembuat Peran global, tersedia dari opsi keamanan hub lingkungan. Anggota peran ini dapat membuat lingkungan dalam proyek. Kontributor ditambahkan sebagai anggota secara default. Diperlukan untuk memicu alur YAML ketika lingkungan belum ada.
Pembaca Anggota peran ini dapat melihat lingkungan.
Pengguna Anggota peran ini dapat menggunakan lingkungan saat membuat atau mengedit alur YAML.
Administrator Anggota peran ini dapat mengelola izin, membuat, mengelola, melihat, dan menggunakan lingkungan. Untuk lingkungan tertentu, pembuatnya ditambahkan sebagai Admininistrator secara default. Administrator juga dapat membuka akses ke lingkungan ke semua alur.

Penting

Saat Anda membuat lingkungan, hanya pembuat yang memiliki peran administrator.

Peran Deskripsi
Pembuat Peran global, tersedia dari opsi keamanan hub lingkungan. Anggota peran ini dapat membuat lingkungan dalam proyek. Kontributor ditambahkan sebagai anggota secara default. Diperlukan untuk memicu alur YAML ketika lingkungan belum ada.
Pembaca Anggota peran ini dapat melihat lingkungan.
Pengguna Anggota peran ini dapat menggunakan lingkungan saat membuat atau mengedit alur YAML.
Administrator Selain menggunakan lingkungan, anggota peran ini dapat mengelola keanggotaan semua peran lain untuk lingkungan. Pembuat ditambahkan sebagai anggota secara default.

Izin alur

Gunakan panel Izin alur halaman Keamanan untuk mengotorisasi semua atau alur yang dipilih untuk penyebaran ke lingkungan.

  • Untuk menghapus akses terbuka pada lingkungan atau sumber daya, pilih Batasi izin di Izin alur.

  • Saat izin dibatasi, Anda dapat mengizinkan alur tertentu untuk disebarkan ke lingkungan atau ke sumber daya tertentu. Pilih + dan pilih dari daftar alur yang akan diizinkan.

FAQ

Mengapa saya mendapatkan pesan kesalahan saat mencoba membuat lingkungan?

Jika Anda melihat pesan Akses ditolak: {User} memerlukan Izin Buat untuk melakukan tindakan, buka Pengaturan>Organisasi Pengguna untuk memeriksa apakah Anda memiliki peran Pemangku Kepentingan. Peran Pemangku Kepentingan tidak dapat membuat lingkungan karena pemangku kepentingan tidak memiliki akses ke repositori.

Ubah tingkat akses Anda, lalu periksa untuk melihat apakah Anda dapat membuat lingkungan. Untuk informasi selengkapnya, lihat Tanya Jawab Umum tentang manajemen pengguna dan izin.

Mengapa saya mendapatkan kesalahan bahwa lingkungan tidak dapat ditemukan?

Jika Anda melihat pesan Pekerjaan XXXX: Lingkungan XXXX tidak dapat ditemukan. Lingkungan tidak ada atau belum diotorisasi untuk digunakan., ada beberapa kemungkinan alasan kegagalan.

  • Parameter runtime tidak berfungsi saat membuat lingkungan, karena parameter hanya diperluas pada waktu proses. Anda dapat menggunakan variabel untuk membuat lingkungan atau menggunakan templateContext untuk meneruskan properti ke templat.

  • Azure Pipelines mungkin tidak memiliki informasi tentang pengguna yang membuat lingkungan.

    Saat Anda merujuk ke lingkungan yang tidak ada dalam file alur YAML, Azure Pipelines secara otomatis membuat lingkungan dalam kasus berikut:

    • Anda menggunakan wizard pembuatan alur YAML di pengalaman web Azure Pipelines dan merujuk ke lingkungan yang belum dibuat.
    • Anda memperbarui file YAML dengan menggunakan editor web Azure Pipelines dan menyimpan alur setelah menambahkan referensi ke lingkungan.

    Dalam kasus berikut, Azure Pipelines tidak memiliki informasi tentang pengguna yang membuat lingkungan, sehingga alur gagal.

    • Anda memperbarui file YAML dengan menggunakan editor kode eksternal lainnya.
    • Anda menambahkan referensi ke lingkungan yang tidak ada, lalu menyebabkan alur integrasi manual atau berkelanjutan dipicu.

    Sebelumnya, Azure Pipelines menangani kasus-kasus ini dengan menambahkan semua kontributor proyek ke peran administrator lingkungan. Setiap anggota proyek kemudian dapat mengubah izin ini dan mencegah orang lain mengakses lingkungan. Untuk mencegah hasil ini, Azure Pipelines sekarang gagal dalam pekerjaan ini.