Bagikan melalui


Keamanan pipeline yang ditingkatkan dengan variabel baca-saja

Dengan pembaruan ini, kami meningkatkan keamanan pipa dengan variabel baca saja. Selain itu, Anda sekarang dapat menentukan variabel output dalam tugas Anda dalam kait siklus hidup pekerjaan penyebaran dan menggunakannya dalam langkah-langkah hilir dan pekerjaan dalam tahap yang sama.

Lihat daftar Fitur di bawah ini untuk detailnya.

Features

Umum:

Azure Pipelines:

Nota

Menginstal .NET 4.6.2 atau yang lebih tinggi diperlukan agar tugas VSTest berfungsi dengan baik pada agen build.

General

Membatasi pembuatan organisasi melalui kebijakan tenant Azure AD

Administrator Azure DevOps sekarang dapat memanfaatkan kebijakan Azure ACTIVE Directory baru. Kebijakan ini akan memungkinkan Anda membatasi pembuatan organisasi Azure DevOps baru yang terhubung ke Azure Active Directory perusahaan Anda. Untuk mempelajari selengkapnya tentang kebijakan ini, lihat dokumentasi di sini.

Azure Pipelines (Alat otomatisasi alur kerja pengembangan perangkat lunak dari Microsoft)

Variabel baca-saja

Variabel sistem telah didokumentasikan sebagai tidak dapat diubah, tetapi dalam praktiknya, variabel tersebut dapat ditimpa oleh suatu tugas dan tugas berikutnya akan menggunakan nilai baru. Dengan pembaruan ini, kami memperketat keamanan pada variabel alur kerja untuk membuat variabel sistem dan variabel antre waktu menjadi hanya-baca. Selain itu, Anda dapat membuat variabel YAML baca-saja dengan menandainya sebagai berikut.

variables:
- name: myVar
  value: myValue
  readonly: true

Dukungan untuk variabel output dalam pekerjaan penyebaran

Anda sekarang dapat menentukan variabel output dalam kait siklus hidup pekerjaan penyebaran dan mengonsumsinya dalam langkah dan pekerjaan hilir lainnya dalam tahap yang sama.

Saat menjalankan strategi penyebaran, Anda dapat mengakses variabel output di seluruh pekerjaan dengan menggunakan sintaks berikut.

  • Untuk strategi runOnce: $[dependencies.<job-name>.outputs['<lifecycle-hookname>.<step-name>.<variable-name>']]
  • Untuk strategi canary : $[dependencies.<job-name>.outputs['<lifecycle-hookname>_<increment-value>.<step-name>.<variable-name>']]
  • Untuk strategi bergulir : $[dependencies.<job-name>.outputs['<lifecycle-hookname>_<resource-name>.<step-name>.<variable-name>']]
// Set an output variable in a lifecycle hook of a deployment job executing canary strategy
- deployment: A
  pool:
    vmImage: 'ubuntu-latest'
  environment: staging
  strategy:                  
    canary:      
      increments: [10,20]  # creates multiple jobs, one for each increment. Output variable can be referenced with this.
      deploy:
        steps:
        - script: echo "##vso[task.setvariable variable=myOutputVar;isOutput=true]this is the deployment variable value"
          name: setvarStep
        - script: echo $(setvarStep.myOutputVar)
          name: echovar

 // Map the variable from the job
- job: B
  dependsOn: A
  pool:
    vmImage: 'ubuntu-latest'
  variables:
    myVarFromDeploymentJob: $[ dependencies.A.outputs['deploy_10.setvarStep.myOutputVar'] ]
  steps:
  - script: "echo $(myVarFromDeploymentJob)"
    name: echovar

Pelajari selengkapnya tentang cara mengatur variabel output multi-pekerjaan

Hindari pembatalan perubahan penting

Dalam alur rilis klasik, umumnya mengandalkan penyebaran terjadwal untuk pembaruan reguler. Tetapi, ketika Anda memiliki perbaikan kritis, Anda dapat memilih untuk memulai penyebaran manual di luar jadwal biasa. Ketika melakukannya, rilis yang lebih lama tetap terjadwal. Ini menimbulkan tantangan karena penyebaran manual akan dibatalkan ketika penyebaran dilanjutkan sesuai jadwal. Banyak dari Anda melaporkan masalah ini dan kami sekarang telah memperbaikinya. Dengan perbaikan ini, semua penyebaran terjadwal yang lebih lama ke lingkungan akan dibatalkan saat Anda memulai penyebaran secara manual. Ini hanya berlaku ketika opsi antrean dipilih sebagai "Terapkan yang terbaru dan batalkan yang lain".

Menghapus citra lama di kumpulan yang di-host di Azure Pipelines

Pada 23 Maret 2020, kami akan menghapus gambar berikut dari pool yang di-host di Azure Pipelines kami.

  • Windows Server 2012 R2 dengan Visual Studio 2015 (vs2015-win2012r2)
  • Mac OS High Sierra 10.13 (macOS-10.13)
  • Windows Server Core 1803 (win1803)

Dengan menghapus gambar-gambar ini, kami akan terus meluncurkan versi gambar yang lebih baru secara lebih efisien.

Untuk mempelajari selengkapnya tentang penghapusan gambar-gambar ini, lihat posting blog penghapusan gambar lama di pool yang dihosting oleh Azure Pipelines.

Langkah selanjutnya

Nota

Fitur-fitur ini akan diluncurkan selama dua hingga tiga minggu ke depan.

Buka Azure DevOps dan lihat.

Cara memberikan umpan balik

Kami akan senang mendengar apa yang Anda pikirkan tentang fitur-fitur ini. Gunakan menu bantuan untuk melaporkan masalah atau memberikan saran.

Buat saran

Anda juga bisa mendapatkan saran dan pertanyaan yang dijawab oleh komunitas di Stack Overflow.

Terima kasih

Vijay Machiraju