Catatan Rilis Azure DevOps Server 2020

Komunitas Pengembang | Persyaratan Sistem | Ketentuan Lisensi | DevOps Blog | SHA-1 Hashes

Dalam artikel ini, Anda akan menemukan informasi mengenai rilis terbaru untuk Azure DevOps Server.

Untuk mempelajari selengkapnya tentang penginstalan atau peningkatan penyebaran Azure DevOps Server, lihat Persyaratan Azure DevOps Server. Untuk mengunduh produk Azure DevOps, kunjungi halaman Unduhan Azure DevOps Server.

Peningkatan langsung ke Azure DevOps Server 2020 didukung dari Azure DevOps Server 2019 atau Team Foundation Server 2015 atau yang lebih baru. Jika penyebaran TFS menggunakan TFS 2010 atau yang lebih lama, Anda perlu melakukan beberapa langkah sementara sebelum meningkatkan ke Azure DevOps Server 2019. Untuk mempelajari selengkapnya, lihat Menginstal dan mengonfigurasi Azure DevOps lokal.


Melakukan Peningkatan dengan Aman dari Azure DevOps Server 2019 ke Azure DevOps Server 2020

Azure DevOps Server 2020 memperkenalkan model retensi eksekusi alur (build) baru yang berfungsi berdasarkan pengaturan tingkat proyek.

Azure DevOps Server 2020 menangani retensi build secara berbeda, berdasarkan kebijakan retensi tingkat alur. Konfigurasi kebijakan tertentu menyebabkan eksekusi alur dihapus setelah peningkatan. Eksekusi alur yang telah dipertahankan secara manual atau dipertahankan oleh rilis tidak akan dihapus setelah peningkatan.

Baca posting blog kami untuk informasi lebih lanjut tentang cara meningkatkan dengan aman dari Azure DevOps Server 2019 ke Azure DevOps Server 2020.

Azure DevOps Server 2020 Pembaruan 0.2 Patch 6 Tanggal Rilis: 14 November 2023

Kami telah merilis patch untuk Azure DevOps Server 2020 Update 0.2 yang menyertakan perbaikan untuk hal berikut.

  • Memperluas daftar karakter yang diizinkan tugas PowerShell untuk validasi parameter Aktifkan argumen tugas shell.

Catatan

Untuk menerapkan perbaikan untuk patch ini, Anda harus mengikuti sejumlah langkah untuk memperbarui tugas secara manual.

Menginstal patch

Penting

Kami merilis pembaruan untuk agen Azure Pipelines dengan Patch 4 dirilis pada 12 September 2023. Jika Anda tidak menginstal pembaruan agen seperti yang dijelaskan dalam catatan rilis untuk Patch 4, kami sarankan Anda menginstal pembaruan ini sebelum menginstal Patch 6. Versi baru agen setelah menginstal Patch 4 adalah 3.225.0.

Mengonfigurasi TFX

  1. Ikuti langkah-langkah dalam dokumentasi pengumpulan tugas unggahan ke proyek untuk menginstal dan masuk dengan tfx-cli.

Memperbarui tugas menggunakan TFX

File SHA-256 Hash
Tasks20231103.zip 389BA66EEBC32622FB83402E21373CE20AE040F70461B9F9AF9EFCED5034D2E5
  1. Unduh dan ekstrak Tasks20231103.zip.
  2. Ubah direktori menjadi file yang diekstrak.
  3. Jalankan perintah berikut untuk mengunggah tugas:
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.230.0.zip 
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip 
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip 
tfx build tasks upload --task-zip-path PowerShellV2.2.230.0.zip 
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.230.0.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.230.0.zip 

Persyaratan Alur

Untuk menggunakan perilaku baru, variabel AZP_75787_ENABLE_NEW_LOGIC = true harus diatur dalam alur yang menggunakan tugas yang terpengaruh.

  • Pada klasik:

    Tentukan variabel di tab variabel di alur.

  • Contoh YAML:

variables: 
- name: AZP_75787_ENABLE_NEW_LOGIC 
  value: true 

Azure DevOps Server 2020 Pembaruan 0.2 Patch 5 Tanggal Rilis: 10 Oktober 2023

Penting

Kami merilis pembaruan untuk agen Azure Pipelines dengan Patch 4 dirilis pada 12 September 2023. Jika Anda tidak menginstal pembaruan agen seperti yang dijelaskan dalam catatan rilis untuk Patch 4, kami sarankan Anda menginstal pembaruan ini sebelum menginstal Patch 5. Versi baru agen setelah menginstal Patch 4 adalah 3.225.0.

Kami telah merilis patch untuk Azure DevOps Server 2020 Update 0.2 yang menyertakan perbaikan untuk hal berikut.

  • Memperbaiki bug di mana identitas "Pemilik Analisis" menunjukkan sebagai Identitas Tidak Aktif pada mesin peningkatan patch.

Azure DevOps Server 2020 Update 0.2 Patch 4 Tanggal Rilis: 12 September 2023

Kami telah merilis patch untuk Azure DevOps Server 2020 Update 0.2 yang menyertakan perbaikan untuk hal berikut.

  • CVE-2023-33136: Azure DevOps Server Kerentanan Eksekusi Kode Jarak Jauh.
  • CVE-2023-38155: Azure DevOps Server dan Team Foundation Server Elevation of Privilege Vulnerability.

Penting

Sebarkan patch ke lingkungan pengujian dan pastikan bahwa alur lingkungan berfungsi seperti yang diharapkan sebelum menerapkan perbaikan pada produksi.

Catatan

Untuk menerapkan perbaikan untuk patch ini, Anda harus mengikuti sejumlah langkah untuk memperbarui agen dan tugas secara manual.

Menginstal patch

  1. Unduh dan instal Azure DevOps Server 2020 Update 0.2 patch 4.

Memperbarui agen Azure Pipelines

  1. Unduh agen dari: https://github.com/microsoft/azure-pipelines-agent/releases/tag/v3.225.0 - Agent_20230825.zip
  2. Gunakan langkah-langkah yang diuraikan dalam dokumentasi agen Windows yang dihost sendiri untuk menyebarkan agen.  

Catatan

AZP_AGENT_DOWNGRADE_DISABLED harus diatur ke "true" untuk mencegah agen diturunkan tingkatnya. Di Windows, perintah berikut dapat digunakan dalam prompt perintah administratif, diikuti dengan boot ulang. setx AZP_AGENT_DOWNGRADE_DISABLED true /M

Mengonfigurasi TFX

  1. Ikuti langkah-langkah dalam dokumentasi pengumpulan tugas unggahan ke proyek untuk menginstal dan masuk dengan tfx-cli.

Memperbarui tugas menggunakan TFX

  1. Unduh dan ekstrak Tasks_20230825.zip.
  2. Ubah direktori menjadi file yang diekstrak.
  3. Jalankan perintah berikut untuk mengunggah tugas:
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.226.3.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.226.2.zip 
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip 
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip 
tfx build tasks upload --task-zip-path PowerShellV2.2.226.1.zip 
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.226.2.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.226.2.zip 

Persyaratan Alur

Untuk menggunakan perilaku baru, variabel AZP_75787_ENABLE_NEW_LOGIC = true harus diatur dalam alur yang menggunakan tugas yang terpengaruh.

  • Pada klasik:

    Tentukan variabel di tab variabel di alur.

  • Contoh YAML:

variables: 
- name: AZP_75787_ENABLE_NEW_LOGIC 
  value: true 

Azure DevOps Server 2020 Update 0.2 Patch 3 Tanggal Rilis: 8 Agustus 2023

Kami telah merilis patch untuk Azure DevOps Server 2020 Update 0.2 yang menyertakan perbaikan untuk hal berikut.

  • Memperbaiki bug yang mengganggu paket pendorongan saat meningkatkan dari 2018 atau yang lebih lama.

Azure DevOps Server 2020 Update 0.2 Patch 2 Tanggal Rilis: 13 Juni 2023

Kami telah merilis patch untuk Azure DevOps Server 2020 Update 0.2 yang menyertakan perbaikan untuk hal berikut.

  • Memperbaiki bug yang mengganggu paket pendorongan saat meningkatkan dari 2018 atau yang lebih lama.

Azure DevOps Server 2020 Pembaruan 0.2 Patch 1 Tanggal Rilis: 18 Oktober 2022

Kami telah merilis patch untuk Azure DevOps Server 2020 Update 0.2 yang menyertakan perbaikan untuk hal berikut.

  • Atasi masalah dengan identitas AD yang baru ditambahkan tidak muncul di pemilih identitas dialog keamanan.
  • Perbaiki masalah dengan filter Diminta oleh Anggota Grup di pengaturan webhook.
  • Memperbaiki kesalahan build check-in Gated saat pengaturan Organisasi untuk alur memiliki cakupan otorisasi pekerjaan yang dikonfigurasi sebagai Batasi cakupan otorisasi pekerjaan ke proyek saat ini untuk alur non-rilis.

Azure DevOps Server 2020.0.2 Tanggal Rilis: 17 Mei 2022

Azure DevOps Server 2020.0.2 adalah serangkaian perbaikan bug. Anda dapat langsung menginstal Azure DevOps Server 2020.0.2 atau meningkatkan dari Azure DevOps Server 2020 atau Team Foundation Server 2013 atau yang lebih baru.

Catatan

Alat Migrasi Data akan tersedia untuk Azure DevOps Server 2020.0.2 sekitar tiga minggu setelah rilis ini. Anda dapat melihat daftar versi yang saat ini didukung untuk pengimporan di sini.

Rilis ini mencakup perbaikan untuk hal berikut:

  • Tidak dapat melewati antrean build menggunakan tombol "Jalankan berikutnya". Sebelumnya, tombol "Jalankan berikutnya" diaktifkan hanya untuk administrator kumpulan proyek.

  • Cabut semua token akses pribadi setelah akun Active Directory pengguna dinonaktifkan.

Tanggal Rilis Patch 9 Azure DevOps Server 2020.0.1: 26 Januari 2022

Kami telah merilis patch untuk Azure DevOps Server 2020.0.1 yang mencakup perbaikan untuk hal berikut.

  • Pemberitahuan email tidak dikirim saat menggunakan kontrol @mention di item kerja.
  • Perbaiki kesalahan TF400813 saat beralih akun. Kesalahan ini terjadi ketika peningkatan dilakukan dari TFS 2018 ke Azure DevOps Server 2020.0.1.
  • Perbaiki masalah dengan halaman ringkasan Gambaran Umum Proyek yang gagal dimuat.
  • Peningkatan sinkronisasi pengguna Active Directory.
  • Mengatasi kerentanan Elasticsearch dengan menghapus kelas jndilookup dari biner log4j.

Langkah-langkah penginstalan

  1. Tingkatkan server dengan Patch 9.
  2. Periksa nilai registri di HKLM:\Software\Elasticsearch\Version. Jika nilai registri tidak ada, tambahkan nilai string dan atur Versi ke 5.4.1 (Nama = Versi, Nilai = 5.4.1).
  3. Jalankan perintah pembaruan PS C:\Program Files\{TFS Version Folder}\Search\zip> .\Configure-TFSSearch.ps1 -Operation update seperti yang disediakan dalam file readme. Ini mungkin mengembalikan peringatan seperti: Tidak dapat tersambung ke server jarak jauh. Jangan tutup jendela, karena pembaruan sedang melakukan percobaan ulang hingga selesai.

Catatan

Jika Azure DevOps Server dan Elasticsearch diinstal pada komputer yang berbeda, ikuti langkah-langkah yang diuraikan di bawah ini.

  1. Tingkatkan server dengan Patch 9.
  2. Periksa nilai registri di HKLM:\Software\Elasticsearch\Version. Jika nilai registri tidak ada, tambahkan nilai string dan atur Versi ke 5.4.1 (Nama = Versi, Nilai = 5.4.1).
  3. Salin konten folder bernama zip, yang terletak di C:\Program Files\{TFS Version Folder}\Search\zip ke folder file jarak jauh Elasticsearch.
  4. Jalankan Configure-TFSSearch.ps1 -Operation update di komputer server Elasticsearch.

SHA-256 Hash: B0C05A972C73F253154AEEB7605605EF2E596A96A3720AE942D7A9DDD881545E

Tanggal Rilis Patch 8 Azure DevOps Server 2020.0.1: 15 Desember 2021

Patch 8 untuk Azure DevOps Server 2020.0.1 mencakup perbaikan untuk hal berikut.

  • Masalah pelokalan untuk status tata letak item kerja kustom.
  • Masalah pelokalan dalam templat pemberitahuan email.
  • Masalah dengan log konsol terpotong ketika ada beberapa tautan identik secara berurutan.
  • Masalah dengan evaluasi aturan NOTSAMEAS ketika beberapa aturan NOTSAMEAS ditentukan untuk suatu bidang.

Tanggal Rilis Patch 7 Azure DevOps Server 2020.0.1: 26 Oktober 2021

Patch 7 untuk Azure DevOps Server 2020.0.1 mencakup perbaikan untuk hal berikut.

  • Sebelumnya, Azure DevOps Server hanya dapat membuat koneksi ke GitHub Enterprise Server. Dengan patch ini, administrator proyek dapat membuat koneksi antara Azure DevOps Server dan repositori di GitHub.com. Anda dapat menemukan pengaturan ini di halaman koneksi GitHub di bawah Pengaturan Proyek.
  • Mengatasi masalah dengan widget Test Plan. Laporan eksekusi pengujian menunjukkan pengguna yang salah pada hasil.
  • Memperbaiki masalah dengan halaman ringkasan Gambaran Umum Proyek yang gagal dimuat.
  • Memperbaiki masalah dengan email yang tidak terkirim untuk mengonfirmasi peningkatan produk.

Tanggal Rilis Patch 6 Azure DevOps Server 2020.0.1: 14 September 2021

Patch 6 untuk Azure DevOps Server 2020.0.1 mencakup perbaikan untuk hal berikut.

  • Memperbaiki kegagalan pengunduhan/pengunggahan Artefak.
  • Mengatasi masalah dengan data Hasil Pengujian yang tidak konsisten.

Tanggal Rilis Patch 5 Azure DevOps Server 2020.0.1: 10 Agustus 2021

Patch 5 untuk Azure DevOps Server 2020.0.1 mencakup perbaikan untuk hal berikut.

  • Memperbaiki kesalahan UI definisi kompilasi.
  • Mengubah riwayat penjelajahan untuk menampilkan file alih-alih repositori akar.
  • Perbaiki masalah dengan pekerjaan pengiriman email untuk beberapa jenis item kerja.

Tanggal Rilis Patch 4 Azure DevOps Server 2020.0.1: 15 Juni 2021

Patch 4 untuk Azure DevOps Server 2020.0.1 mencakup perbaikan untuk hal berikut.

  • Memperbaiki masalah dengan impor data. Impor data memakan waktu lama bagi pelanggan yang memiliki banyak kasus pengujian kedaluwarsa. Hal ini disebabkan oleh referensi yang meningkatkan ukuran tbl_testCaseReferences tabel. Dengan patch ini, kami menghapus referensi ke kasus pengujian kedaluwarsa untuk membantu mempercepat proses impor data.

Tanggal Rilis Patch 3 Azure DevOps Server 2020.0.1: 11 May 2021

Kami telah merilis patch untuk Azure DevOps Server 2020.0.1 yang memperbaiki hal berikut.

  • Data Hasil Pengujian yang Tidak Konsisten saat menggunakan Microsoft.TeamFoundation.TestManagement.Client.

Jika Anda memiliki Azure DevOps Server 2020.0.1, Anda harus menginstal Azure DevOps Server 2020.0.1 Patch 3.

Memverifikasi Penginstalan

  • Opsi 1: Jalankan devops2020.0.1patch3.exe CheckInstall, devops2020.0.1patch3.exe adalah file yang diunduh dari tautan di atas. Output perintah akan mengatakan bahwa patch telah diinstal, atau tidak diinstal.

  • Opsi 2: Periksa versi file berikut: [INSTALL_DIR]\Azure DevOps Server 2020\Application Tier\bin\Microsoft.Teamfoundation.Framework.Server.dll. Azure DevOps Server 2020.0.1 diinstal secara c:\Program Files\Azure DevOps Server 2020 default. Setelah menginstal Azure DevOps Server 2020.0.1 Patch 3, versinya adalah 18.170.31228.1.

Tanggal Rilis Patch 2 Azure DevOps Server 2020.0.1: 13 April 2021

Catatan

Jika Anda memiliki Azure DevOps Server 2020, Anda harus terlebih dahulu memperbarui ke Azure DevOps Server 2020.0.1 . Setelah pada 2020.0.1, instal Azure DevOps Server 2020.0.1 Patch 2

Kami telah merilis patch untuk Azure DevOps Server 2020.0.1 yang memperbaiki hal berikut.

Untuk menerapkan perbaikan pada patch ini, Anda harus mengikuti langkah-langkah yang tercantum di bawah ini untuk penginstalan patch umum, penginstalan tugas AzureResourceGroupDeploymentV2 dan AzureResourceManagerTemplateDeploymentV3.

Penginstalan patch umum

Jika Anda memiliki Azure DevOps Server 2020.0.1, Anda harus menginstal Azure DevOps Server 2020.0.1 Patch 2.

Memverifikasi Penginstalan

  • Opsi 1: Jalankan devops2020.0.1patch2.exe CheckInstall, devops2020.0.1patch2.exe adalah file yang diunduh dari tautan di atas. Output perintah akan mengatakan bahwa patch telah diinstal, atau tidak diinstal.

  • Opsi 2: Periksa versi file berikut: [INSTALL_DIR]\Azure DevOps Server 2020\Application Tier\bin\Microsoft.Teamfoundation.Framework.Server.dll. Azure DevOps Server 2020.0.1 diinstal secara c:\Program Files\Azure DevOps Server 2020 default. Setelah menginstal Azure DevOps Server 2020.0.1 Patch 2, versinya adalah 18.170.31123.3.

Penginstalan tugas AzureResourceGroupDeploymentV2

Catatan

Semua langkah yang disebutkan di bawah ini perlu dilakukan pada komputer Windows

Instal

  1. Ekstrak paket AzureResourceGroupDeploymentV2.zip ke folder baru di komputer Anda. Misalnya: D:\tasks\AzureResourceGroupDeploymentV2.

  2. Unduh dan instal Node.js 14.15.1 dan npm (disertakan dengan unduhan Node.js) sesuai dengan komputer Anda.

  3. Buka perintah dalam mode administrator dan jalankan perintah berikut untuk menginstal tfx-cli.

npm install -g tfx-cli
  1. Buat token akses pribadi dengan hak istimewa Akses penuh dan salin token tersebut. Token akses Pribadi ini akan digunakan saat menjalankan perintah login tfx.

  2. Jalankan hal berikut ini dari perintah. Saat diminta, masukkan URL Layanan dan token akses Pribadi.

~$ tfx login
Copyright Microsoft Corporation

> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully

  1. Jalankan perintah berikut untuk mengunggah tugas di server. Gunakan jalur file .zip yang diekstrak dari langkah 1.
  ~$ tfx build tasks upload --task-path *<Path of the extracted package>*

Penginstalan tugas AzureResourceManagerTemplateDeploymentV3

Catatan

Semua langkah yang disebutkan di bawah ini perlu dilakukan pada komputer Windows

Instal

  1. Ekstrak paket AzureResourceManagerTemplateDeploymentV3.zip ke folder baru di komputer Anda. Misalnya:D:\tasks\AzureResourceManagerTemplateDeploymentV3.

  2. Unduh dan instal Node.js 14.15.1 dan npm (disertakan dengan unduhan Node.js) yang sesuai untuk komputer Anda.

  3. Buka perintah dalam mode administrator dan jalankan perintah berikut untuk menginstal tfx-cli.

npm install -g tfx-cli
  1. Buat token akses pribadi dengan hak istimewa Akses penuh dan salin token tersebut. Token akses Pribadi ini akan digunakan saat menjalankan perintah login tfx.

  2. Jalankan hal berikut ini dari perintah. Saat diminta, masukkan URL Layanan dan token akses Pribadi.

~$ tfx login
Copyright Microsoft Corporation

> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully

  1. Jalankan perintah berikut untuk mengunggah tugas di server. Gunakan jalur file .zip yang diekstrak dari langkah 1.
  ~$ tfx build tasks upload --task-path *<Path of the extracted package>*

Tanggal Rilis Patch 1 Azure DevOps Server 2020.0.1: 9 Februari 2021

Kami telah merilis patch untuk Azure DevOps Server 2020.0.1 yang memperbaiki hal berikut. Silakan lihat posting blog untuk informasi selengkapnya.

Tanggal Rilis Patch 3 Azure DevOps Server 2020: 9 Februari 2021

Kami telah merilis patch untuk Azure DevOps Server 2020 yang memperbaiki hal berikut. Silakan lihat posting blog untuk informasi selengkapnya.

Tanggal Rilis Azure DevOps Server 2020.0.1: 19 Januari 2021

Azure DevOps Server 2020.0.1 adalah akumulasi perbaikan bug. Anda dapat langsung menginstal Azure DevOps Server 2020.0.1 atau melakukan peningkatan dari penginstalan yang ada. Versi yang didukung untuk peningkatan adalah Azure DevOps Server 2020, Azure DevOps Server 2019, dan Team Foundation Server 2012 atau yang lebih baru.

Rilis ini mencakup perbaikan untuk bug berikut:

  • Atasi masalah peningkatan dari Azure DevOps Server 2019 ketika proksi Git mungkin berhenti berfungsi setelah peningkatan.
  • Perbaiki pengecualian System.OutOfMemoryException untuk koleksi non-ENU sebelum Team Foundation Server 2017 saat meningkatkan ke Azure DevOps Server 2020. Menyelesaikan masalah yang dilaporkan dalam tiket umpan balik Komunitas Pengembang ini.
  • Kegagalan layanan disebabkan oleh hilangnya Microsoft.Azure.DevOps.ServiceEndpoints.Sdk.Server.Extensions.dll. Menyelesaikan masalah yang dilaporkan dalam tiket umpan balik Komunitas Pengembang ini.
  • Perbaiki kesalahan nama kolom yang tidak valid di Analytics saat melakukan peningkatan ke Azure DevOps Server 2020. Menyelesaikan masalah yang dilaporkan dalam tiket umpan balik Komunitas Pengembang ini.
  • XSS yang disimpan saat menampilkan langkah-langkah kasus pengujian dalam hasil kasus pengujian.
  • Tingkatkan kegagalan langkah saat memigrasikan data hasil poin ke TCM.

Tanggal Rilis Patch 2 Azure DevOps Server 2020: 12 Januari 2021

Kami telah merilis patch untuk Azure DevOps Server 2020 yang memperbaiki hal berikut. Silakan lihat posting blog untuk informasi selengkapnya.

  • Detail eksekusi pengujian tidak menampilkan detail langkah pengujian untuk data pengujian yang dimigrasikan menggunakan Migrasi OpsHub
  • Pengecualian pada penginisialisasi untuk 'Microsoft.TeamFoundation.TestManagement.Server.TCMLogger'
  • Build yang tidak dipertahankan segera dihapus setelah migrasi ke Azure DevOps Server 2020
  • Memperbaiki pengecualian penyedia data

Tanggal Rilis Patch 1 Azure DevOps Server 2020: 8 Desember 2020

Kami telah merilis patch untuk Azure DevOps Server 2020 yang memperbaiki hal berikut. Silakan lihat posting blog untuk informasi selengkapnya.

  • CVE-2020-17145: Kerentanan Spoofing Layanan Azure DevOps Server dan Team Foundation

Tanggal Rilis Azure DevOps Server 2020: 6 Oktober 2020

Azure DevOps Server 2020 adalah akumulasi perbaikan bug. Ini termasuk semua fitur dalam Azure DevOps Server 2020 RC2 yang sebelumnya dirilis.

Catatan

Azure DevOps 2020 Server memiliki masalah dengan penginstalan salah satu rakitan yang digunakan oleh Git Virtual File System (GVFS).

Jika Anda meningkatkan dari Azure DevOps 2019 (rilis apa pun) atau kandidat rilis Azure DevOps 2020 dan menginstal ke direktori yang sama dengan rilis sebelumnya, perakitan Microsoft.TeamFoundation.Git.dll tidak akan diinstal. Anda dapat memverifikasi bahwa Anda telah mengalami masalah dengan mencari Microsoft.TeamFoundation.Git.dll di folder <Install Dir>\Version Control Proxy\Web Services\bin, <Install Dir>\Application Tier\TFSJobAgent dan <Install Dir>\Tools. Jika file hilang, Anda dapat menjalankan perbaikan untuk memulihkan file yang hilang.

Untuk menjalankan perbaikan, buka Settings -> Apps & Features komputer/mesin virtual Azure DevOps Server dan jalankan perbaikan di Server Azure DevOps 2020. Setelah perbaikan selesai, Anda dapat menghidupkan ulang komputer/mesin virtual.

Tanggal Rilis Azure DevOps Server 2020 RC2: 11 Agustus 2020

Azure DevOps Server 2020 RC2 adalah serangkaian perbaikan bug. Ini mencakup semua fitur di Azure DevOps Server 2020 RC1 yang dirilis sebelumnya.

Tanggal Rilis untuk rilis ulang Azure DevOps Server 2020 RC1: 10 Juli 2020

Kami telah merilis ulang Azure DevOps Server 2020 RC1 untuk memperbaiki tiket umpan balik Komunitas Pengembang ini.

Sebelumnya, setelah melakukan peningkatan dari Azure DevOps Server 2019, perbarui 1.1 ke Azure DevOps Server 2020 RC1, Anda tidak dapat melihat file di Repositori, Alur, dan Wiki dari UI Web. Terdapat pesan kesalahan yang menunjukkan terjadinya kesalahan tak terduga dalam wilayah halaman ini. Anda dapat mencoba memuat ulang komponen ini atau refresh seluruh halaman. Dengan rilis ini, kami telah memperbaiki masalah ini. Silakan lihat posting blog untuk informasi selengkapnya.

Tanggal Rilis RC1 Azure DevOps Server 2020: 30 Juni 2020

Ringkasan Apa yang Baru di Azure DevOps Server 2020

Azure DevOps Server 2020 memperkenalkan banyak fitur baru. Beberapa sorotan meliputi:

Anda juga dapat langsung membuka bagian individual dan melihat semua fitur baru untuk setiap layanan:


Umum

Ketersediaan umum CLI Azure DevOps

Pada bulan Februari, kami memperkenalkan ekstensi Azure DevOps untuk Azure CLI. Ekstensi ini memungkinkan Anda berinteraksi dengan Azure DevOps dari baris perintah. Kami telah mengumpulkan umpan balik Anda yang membantu kami meningkatkan ekstensi dan menambahkan lebih banyak perintah. Kami sekarang dengan senang hati mengumumkan bahwa ekstensi tersebut tersedia secara umum.

Untuk mempelajari selengkapnya tentang CLI Azure DevOps, lihat dokumentasi di sini.

Gunakan profil penerbitan untuk menyebarkan Azure WebApps untuk Windows dari Pusat Penyebaran

Sekarang Anda dapat menggunakan autentikasi berbasis profil yang diterbitkan untuk menyebarkan Azure WebApps untuk Windows dari Pusat Penyebaran. Jika diizinkan untuk melakukan penyebaran ke Azure WebApp untuk Windows dengan menggunakan profil penerbitannya, Anda akan dapat menyiapkan alur menggunakan profil ini di alur kerja Pusat Penerapan.

Boards

Tambahkan filter "Item Kerja Induk" ke papan tugas dan backlog sprint

Kami menambahkan filter baru ke papan Sprint dan backlog Sprint. Dengan ini, Anda dapat memfilter item backlog tingkat persyaratan (kolom pertama di sebelah kiri) berdasarkan induknya. Misalnya, pada cuplikan layar di bawah ini, kita telah memfilter tampilan sehingga hanya cerita pengguna yang tampil sedangkan induknya adalah "Fitur besar saya".

Cuplikan layar memperlihatkan filter Item Kerja Induk baru.

Meningkatkan pengalaman penanganan kesalahan –– bidang yang diperlukan pada Bug/Tugas

Secara historis, dari papan Kanban, jika Anda memindahkan item kerja dari satu kolom ke kolom lain sedangkan perubahan status memicu aturan bidang, kartu hanya akan menampilkan pesan kesalahan merah yang akan memaksa Anda membuka item kerja untuk memahami akar penyebabnya. Dalam sprint 170, kami meningkatkan pengalaman sehingga Anda sekarang dapat mengeklik pesan kesalahan merah untuk melihat detail kesalahan tanpa harus membuka item kerja itu sendiri.

Cuplikan layar memperlihatkan kotak dialog Bidang yang hilang yang muncul saat Anda mengklik pesan kesalahan merah.

Pemuatan ulang item kerja secara langsung

Sebelumnya, saat memperbarui item kerja, dan anggota tim kedua membuat perubahan pada item kerja yang sama, pengguna kedua akan kehilangan perubahan mereka. Sekarang, selama Anda berdua mengedit bidang yang berbeda, Anda akan melihat pembaruan langsung dari perubahan yang dilakukan pada item kerja.

Video singkat yang menunjukkan cara kerja pengisian ulang langsung item kerja.

Mengelola iterasi dan jalur area dari baris perintah

Anda sekarang dapat mengelola perulangan dan jalur area dari baris perintah dengan menggunakan perintah az boards iteration dan az boards area. Misalnya, Anda dapat menyiapkan dan mengelola perulangan dan jalur area secara interaktif dari CLI, atau mengotomatiskan seluruh penyiapan dengan menggunakan skrip. Untuk detail selengkapnya tentang perintah dan sintaks, lihat dokumentasi di sini.

Kolom induk item kerja sebagai opsi kolom

Anda sekarang memiliki opsi untuk melihat induk dari setiap item kerja di backlog produk atau backlog sprint Anda. Untuk mengaktifkan fitur ini, buka Opsi Kolom pada backlog yang diinginkan, lalu tambahkan kolom Induk.

Cuplikan layar backlog dengan opsi Opsi Kolom dipanggil.

Ubah proses yang digunakan oleh proyek

Alat Anda harus berubah seperti yang dilakukan tim, Anda sekarang dapat mengalihkan proyek Anda dari templat proses unik ke proses unik lainnya. Misalnya, Anda dapat mengubah proyek dari menggunakan Agile ke Scrum, atau Basic ke Agile. Anda dapat menemukan dokumentasi langkah demi langkah lengkap di sini.

Cuplikan layar tab Proyek dengan opsi Ubah proses yang dipanggil.

Sembunyikan bidang kustom dari tata letak

Sekarang Anda dapat menyembunyikan bidang kustom dari tata letak formulir saat menyesuaikan proses Anda. Bidang masih akan tersedia dari kueri dan REST API. Hal ini berguna untuk melacak bidang tambahan ketika Anda melakukan integrasi dengan sistem lain.

Cuplikan layar memperlihatkan opsi Sembunyikan dari tata letak.

Dapatkan wawasan tentang kesehatan tim Anda dengan tiga laporan Azure Boards baru

Anda tidak dapat memperbaiki apa yang tidak dapat Anda lihat. Oleh karenanya, Anda ingin mengawasi status dan kesehatan proses kerja mereka. Dengan laporan ini, kami memudahkan Anda untuk melacak metrik penting dengan upaya minimal di Azure Boards.

Tiga laporan interaktif baru adalah: Burndown, Cumulative Flow Diagram (CFD) dan Kecepatan. Anda dapat melihat laporan di tab analitik baru.

Melalui metrik seperti burndown sprint, alur kerja, dan kecepatan tim, Anda bisa melihat kemajuan tim dan membantu menjawab pertanyaan seperti:

  • Berapa banyak pekerjaan yang tersisa dalam sprint ini? Apakah kita sudah berada di jalur yang benar untuk menyelesaikannya?
  • Langkah apa dari proses pengembangan yang memakan waktu paling lama? Adakah yang bisa kita lakukan untuk memperbaikinya?
  • Berdasarkan perulangan sebelumnya, berapa banyak pekerjaan yang harus kita rencanakan untuk sprint berikutnya?

Catatan

Bagan yang sebelumnya diperlihatkan di header telah diganti dengan laporan yang disempurnakan ini.

Laporan baru sepenuhnya interaktif dan memungkinkan Anda menyesuaikannya dengan kebutuhan Anda. Anda dapat menemukan laporan baru di bawah tab Analitik pada setiap hub.

  • Bagan burndown dapat ditemukan di bawah hub Sprints.

    Cuplikan layar bagan burndown pada tab Analitik.

  • Laporan CFD dan Kecepatan dapat diakses dari tab Analitik di bawah Papan dan Backlog dengan mengeklik kartu yang relevan.

    Cuplikan layar laporan Diagram Alur Kumulatif dan laporan Kecepatan pada tab Analitik.

Dengan laporan baru, Anda memiliki lebih banyak kontrol dan informasi tentang tim Anda. Berikut adalah beberapa contohnya:

  • Laporan Sprint Burndown dan Velocity dapat diatur sehingga dapat menggunakan jumlah item kerja atau jumlah pekerjaan yang tersisa.
  • Anda dapat menyesuaikan jangka waktu burndown sprint tanpa memengaruhi tanggal proyek. Jadi, jika tim Anda biasanya menghabiskan hari pertama dari setiap perencanaan sprint, Anda sekarang dapat menyesuaikan bagan untuk memperlihatkan hal tersebut.
  • Bagan burndown sekarang memiliki marka air yang memperlihatkan akhir pekan.
  • Dengan laporan CFD, Anda dapat menghapus kolom papan seperti Desain untuk mendapatkan lebih banyak fokus pada alur yang dapat dikontrol oleh tim.

Berikut adalah contoh laporan CFD yang menunjukkan alur selama 30 hari terakhir pada backlog Stories.

Cuplikan layar Diagram Alur Kumulatif pada tab Analitik.

Bagan Kecepatan sekarang dapat dilacak untuk semua tingkat backlog. Misalnya, Anda sekarang dapat menambahkan Fitur dan Epik sedangkan bagan sebelumnya hanya mendukung Persyaratan. Berikut adalah contoh laporan kecepatan untuk 6 pengulangan terakhir dari backlog Fitur.

Cuplikan layar bagan Kecepatan pada tab Analitik.

Menyesuaikan kolom Taskboard

Kami sangat senang mengumumkan bahwa kami telah menambahkan opsi agar Anda dapat menyesuaikan kolom di Taskboard. Sekarang Anda dapat menambahkan, menghapus, mengganti nama, dan menyusun ulang kolom.

Untuk mengonfigurasi kolom di Taskboard Anda, buka Opsi Kolom.

Cuplikan layar Taskboard dengan opsi Opsi Kolom dipanggil.

Fitur ini diprioritaskan berdasarkan saran dari Komunitas Pengembang.

Alihkan untuk menampilkan atau menyembunyikan item kerja anak yang sudah selesai di backlog

Sering kali, ketika menyempurnakan backlog, Anda hanya ingin melihat item yang belum selesai. Sekarang, Anda mampu menampilkan atau menyembunyikan item anak yang sudah selesai di backlog.

Jika tombol aktif, Anda akan melihat semua item anak dalam status selesai. Ketika tombol mati, semua item anak dalam status selesai akan disembunyikan dari backlog.

Video singkat yang memperlihatkan cara menampilkan atau menyembunyikan item anak di backlog.

Tag terbaru ditampilkan saat memberi tag pada item kerja

Saat memberi tag pada item kerja, opsi selesaikan otomatis sekarang akan menampilkan hingga lima tag terakhir yang Anda gunakan. Hal ini akan memudahkan penambahan informasi yang tepat ke item kerja Anda.

Cuplikan layar memperlihatkan tag terbaru yang digunakan ditampilkan saat menandai item kerja.

Aturan baca-saja dan yang diperlukan untuk keanggotaan grup

Dengan aturan item kerja, Anda dapat mengatur tindakan tertentu pada bidang item kerja untuk mengotomatiskan perilakunya. Anda dapat membuat aturan untuk mengatur bidang menjadi baca-saja atau diperlukan berdasarkan keanggotaan grup. Misalnya, Anda mungkin ingin memberi pemilik produk kemampuan untuk mengatur prioritas fitur Anda sekaligus mengaturnya sebagai baca-saja untuk orang lain.

Cuplikan layar kotak dialog Aturan item kerja baru memperlihatkan bagian Kondisi dan bagian Tindakan.

Menyesuaikan nilai daftar pilihan sistem

Anda sekarang dapat menyesuaikan nilai untuk daftar pilihan sistem apa pun (kecuali bidang alasan) seperti Tingkat Keparahan, Aktivitas, Prioritas, dll. Kustomisasi daftar pilihan dicakup sehingga Anda dapat mengelola nilai yang berbeda untuk bidang yang sama pada setiap tipe item kerja.

Video singkat yang memperlihatkan cara menyesuaikan nilai daftar pilih sistem.

Parameter URL item kerja baru

Bagikan tautan ke item kerja dengan konteks papan atau backlog Anda dengan parameter URL item kerja baru kami. Anda sekarang dapat membuka dialog item kerja di papan, backlog, atau pengalaman sprint Anda dengan menambahkan parameter ?workitem=[ID] ke URL.

Siapa pun yang menerima tautan dari Anda kemudian akan mendarat dengan konteks yang sama dengan yang Anda miliki ketika Anda membagikan tautan!

Sebutkan orang, item kerja, dan PR di bidang teks

Saat mendengarkan umpan balik Anda, kami mendengar bahwa Anda menginginkan kemampuan untuk menyebutkan orang, item kerja, dan PR di area deskripsi item kerja (dan bidang HTML lainnya) pada item kerja dan bukan hanya di komentar. Terkadang Anda berkolaborasi dengan seseorang di item kerja, atau ingin menyoroti PR dalam deskripsi item kerja Anda, tetapi tidak memiliki cara untuk menambahkan informasi tersebut. Sekarang Anda dapat menyebutkan orang, item kerja, dan PR di semua bidang teks panjang pada item kerja.

Anda dapat melihat contoh di sini.

Cuplikan layar memperlihatkan bahwa Anda bisa menyebutkan orang, item kerja, dan PR di area Deskripsi item kerja.

  • Untuk menggunakan penyebutan orang, ketik tanda @ dan nama orang yang ingin Anda sebutkan. @mentions di bidang item kerja akan menghasilkan pemberitahuan email seperti apa yang dilakukannya untuk komentar.
  • Untuk menggunakan penyebutan item kerja, ketik tanda # diikuti dengan ID atau judul item kerja. #mentions akan membuat tautan antara dua item kerja.
  • Untuk menggunakan sebutan PR, tambahkan ! diikuti dengan ID atau nama PR Anda.

Reaksi tentang komentar diskusi

Salah satu tujuan utama kami adalah membuat item kerja lebih kolaboratif untuk tim. Baru-baru ini kami melakukan jajak pendapat di Twitter untuk mengetahui fitur kolaborasi apa yang Anda inginkan saat membahas item kerja. Menghadirkan reaksi ke komentar adalah suara terbanyak dari jajak pendapat, jadi kami menambahkannya! Berikut adalah hasil polling Twitter.

Cuplikan layar polling twitter Azure DevOps yang menunjukkan bahwa 35% responden menginginkan fitur Reaksi pada komentar.

Anda dapat menambahkan reaksi pada komentar apa pun, dan ada dua cara untuk menambahkan reaksi Anda - ikon tersenyum di sudut kanan atas komentar apa pun, serta di bagian bawah komentar di samping reaksi yang ada. Anda dapat menambahkan keenam reaksi jika Anda suka, atau hanya satu atau dua. Untuk menghapus reaksi Anda, klik reaksi di bagian bawah komentar Anda dan itu akan dihapus. Di bawah ini Anda dapat melihat pengalaman menambahkan reaksi, serta seperti apa reaksi pada komentar.

Cuplikan layar memperlihatkan bahwa Anda dapat menambahkan reaksi ke komentar dengan dua cara berbeda.

Menyematkan laporan Azure Boards ke dasbor

Dalam Pembaruan Sprint 155, kami menyertakan versi terbaru dari laporan CFD dan Kecepatan. Laporan ini tersedia di bawah tab Analitik Papan dan Backlog. Sekarang Anda dapat menyematkan laporan langsung ke Dasbor Anda. Untuk menyematkan laporan, arahkan mouse ke atas laporan, pilih menu elipsis "..." dan Salin ke Dasbor.

Cuplikan layar memperlihatkan opsi Salin ke Dasbor.

Melacak kemajuan item induk menggunakan backlog Rollup on Boards

Kolom rollup memperlihatkan bilah kemajuan dan/atau total bidang numerik atau item turunan dalam hierarki. Item keturunan sesuai dengan semua item turunan dalam hierarki. Satu atau beberapa kolom rollup dapat ditambahkan ke backlog produk atau portofolio.

Misalnya, di sini kami memperlihatkan Kemajuan menurut Item Kerja yang menampilkan bilah kemajuan untuk item kerja naik berdasarkan persentase item keturunan yang telah ditutup. Item keturunan untuk Epik mencakup semua Fitur turunan dan item kerja turunan atau anak turunannya. Item turunan untuk Fitur mencakup semua Cerita Pengguna turunan dan item kerja turunannya.

Cuplikan layar item kerja di backlog.

Pembaruan langsung Taskboard

Taskboard Anda sekarang secara otomatis di-refresh ketika perubahan terjadi! Saat anggota tim lain memindahkan atau menyusun ulang kartu di taskboard, papan Anda akan secara otomatis diperbarui dengan perubahan ini. Anda tidak perlu lagi menekan F5 untuk melihat perubahan terbaru.

Dukungan untuk bidang kustom di kolom Rollup

Rollup sekarang dapat dilakukan pada bidang apa pun, termasuk bidang kustom. Saat menambahkan kolom Rollup, Anda masih bisa memilih kolom Rollup dari daftar Cepat, namun jika Anda ingin melakukan akumulasi pada bidang numerik yang bukan bagian dari templat proses unik, Anda bisa mengonfigurasinya sendiri sebagai berikut:

  1. Pada backlog Anda klik "Column options". Kemudian di panel, klik "Add Rollup column" dan Konfigurasikan akumulasi kustom.

    Cuplikan layar daftar dropdown Tambahkan kolom rollup.

  2. Pilih antara Bilah Kemajuan dan Total.
  3. Pilih tipe item kerja atau tingkat Backlog (biasanya backlog mengagregasi beberapa tipe item kerja).
  4. Pilih tipe agregasi. Jumlah item kerja atau Jumlah. Untuk Jumlah, Anda harus memilih bidang yang akan diringkas.
  5. Tombol OK akan membawa Anda kembali ke panel opsi kolom tempat Anda dapat menyusun ulang kolom kustom baru Anda.

Cuplikan layar panel opsi kolom memperlihatkan kolom kustom baru.

Perhatikan bahwa Anda tidak dapat mengedit kolom kustom setelah mengeklik OK. Jika Anda perlu membuat perubahan, hapus kolom kustom dan tambahkan kolom lain sesuai keinginan.

Aturan baru untuk menyembunyikan bidang dalam formulir item kerja berdasarkan kondisi

Kami telah menambahkan aturan baru ke mesin aturan yang diwariskan agar Anda bisa menyembunyikan bidang dalam formulir item kerja. Aturan ini akan menyembunyikan bidang berdasarkan keanggotaan grup pengguna. Misalnya, jika pengguna termasuk dalam grup "pemilik produk", maka Anda dapat menyembunyikan bidang khusus pengembang. Untuk lebih jelasnya, silakan lihat dokumentasinya di sini.

Pengaturan pemberitahuan item kerja kustom

Anda perlu terus mendapatkan informasi terbaru tentang item kerja yang relevan untuk Anda atau tim. Hal ini membantu tim berkolaborasi dan bekerja sesuai tujuan proyek serta memastikan bahwa semua pihak yang tepat telah dilibatkan. Namun, beragam pemangku kepentingan memiliki tingkat investasi serta upaya yang berbeda, dan kami percaya bahwa hal tersebut harus terlihat dari kemampuan Anda untuk mengikuti status item kerja.

Sebelumnya, jika ingin mengikuti item kerja dan mendapatkan pemberitahuan tentang perubahan yang dibuat, Anda akan memperoleh pemberitahuan email untuk segala perubahan tersebut pada item kerja. Setelah mempertimbangkan umpan balik Anda, kami membuat item pekerjaan berikut lebih fleksibel untuk semua pemangku kepentingan. Sekarang, Anda akan melihat tombol pengaturan baru di samping tombol Ikuti di sudut kanan atas item kerja. Hal ini akan membawa Anda ke pesan pop up sehingga dapat mengonfigurasi opsi berikut.

Cuplikan layar sudut kanan atas item kerja dengan kursor mengarahkan kursor ke ikon roda gigi.

Dari Pengaturan Pemberitahuan, Anda dapat membuat pilihan dari tiga opsi pemberitahuan. Pertama, Anda dapat sepenuhnya berhenti berlangganan. Kedua, Anda dapat sepenuhnya berlangganan, sehingga Anda bisa mendapatkan pemberitahuan untuk semua perubahan item kerja. Terakhir, Anda dapat memilih untuk mendapatkan pemberitahuan tentang beberapa peristiwa perubahan item kerja teratas dan penting. Anda dapat memilih satu opsi saja, atau ketiganya. Dengan ini, anggota tim dapat mengikuti item kerja pada tingkat yang lebih tinggi dan tidak terganggu oleh setiap perubahan yang dilakukan. Dengan fitur ini, kami akan menghilangkan email yang tidak perlu sehingga Anda dapat berfokus pada tugas-tugas penting yang ada.

Cuplikan layar kotak dialog Pengaturan Pemberitahuan memperlihatkan tombol radio Kustom dipilih bersama dengan opsi Status Diubah dan opsi Perubahan Perulangan.

Kami sangat antusias untuk merilis kontrol Penyebaran pada formulir item kerja. Kontrol ini menautkan item kerja Anda ke rilis dan memungkinkan Anda melacak lokasi penyebaran item Anda dengan mudah. Untuk mempelajarinya lebih lanjut, lihat dokumentasi.

Cuplikan layar memperlihatkan kontrol Penyebaran pada formulir item kerja.

Mengimpor item kerja dari file CSV

Hingga saat ini, mengimpor item kerja dari file CSV bergantung pada penggunaan plugin Excel. Dalam pembaruan ini kami memberikan pengalaman impor kelas satu langsung dari Azure Boards sehingga Anda dapat mengimpor item kerja baru atau memperbaruinya. Untuk mempelajarinya lebih lanjut, lihat dokumentasinya di sini.

Video pendek yang memperlihatkan cara mengimpor item kerja dari file CSV.

Tambahkan bidang induk ke kartu item kerja

Sekarang, konteks induk tersedia dalam papan Kanban Anda sebagai bidang baru untuk kartu item kerja. Sekarang, Anda dapat menambahkan bidang Induk ke kartu, sehingga tidak perlu lagi menggunakan solusi seperti tag dan awalan.

Cuplikan layar memperlihatkan kartu item kerja dengan opsi Induk dipanggil.

Menambahkan bidang induk ke backlog dan kueri

Bidang induk sekarang tersedia saat menampilkan backlog dan hasil kueri. Untuk menambahkan bidang induk, gunakan tampilan Opsi kolom.

Cuplikan layar bagian opsi Kolom dengan opsi Induk dipanggil.

Repos

Metrik cakupan kode dan kebijakan cabang untuk permintaan pull

Sekarang Anda dapat melihat metrik cakupan kode untuk perubahan dalam tampilan permintaan pull (PR). Ini memastikan bahwa Anda telah menguji perubahan Anda secara memadai melalui pengujian otomatis. Status cakupan akan muncul sebagai komentar dalam gambaran umum PR. Anda dapat melihat detail informasi cakupan untuk setiap baris kode yang diubah dalam tampilan diff file.

Cuplikan layar memperlihatkan bahwa Anda dapat melihat metrik cakupan kode untuk perubahan dalam tampilan permintaan pull (PR).

Cuplikan layar diff permintaan pull memperlihatkan baris kode baru yang ditambahkan ke file.

Selain itu, pemilik repositori sekarang dapat menetapkan kebijakan cakupan kode dan mencegah perubahan besar yang belum diuji untuk digabungkan ke dalam cabang. Ambang cakupan yang diinginkan dapat ditentukan dalam file pengaturan azurepipelines-coverage.yml yang diperiksa di akar kebijakan repositori dan cakupan dapat ditentukan menggunakan kemampuan konfigurasi kebijakan cabang untuk layanan tambahan yang ada di Repositori Azure.

Cuplikan layar opsi Tambahkan kebijakan status dipanggil dan dan bagian Tambahkan kebijakan status yang muncul saat Anda memilih opsi ..

Memfilter pemberitahuan komentar dari permintaan pull

Komentar dalam permintaan pull sering kali menimbulkan banyak kebisingan karena pemberitahuan. Kami telah menambahkan langganan kustom agar Anda dapat memfilter pemberitahuan komentar yang ingin Anda langgan, berdasarkan usia komentar, pemberi komentar, komentar yang dihapus, pengguna yang disebutkan, pembuat permintaan pull, cabang target, dan peserta utas. Anda dapat membuat langganan pemberitahuan ini dengan mengeklik ikon pengguna di sudut kanan atas dan mengarahkan navigasi ke Pengaturan pengguna.

Cuplikan layar memperlihatkan cara memfilter pemberitahuan komentar dari permintaan pull.

Cuplikan layar memperlihatkan halaman Kriteria filter dan konten daftar dropdown Bidang.

Hook layanan untuk komentar permintaan pull

Anda sekarang dapat membuat hook layanan untuk komentar dalam permintaan pull berdasarkan repositori dan cabang target.

Cuplikan layar wizard Langganan Hook Layanan Baru.

Kebijakan untuk memblokir file dengan pola yang ditentukan

Administrator sekarang dapat menetapkan kebijakan untuk mencegah penerapan didorong ke repositori berdasarkan jenis dan jalur file. Kebijakan validasi nama file akan memblokir dorongan yang sesuai dengan pola yang disediakan.

Cuplikan layar memperlihatkan bagian Kebijakan dengan opsi Validasi nama file diatur ke Aktif.

Mengatasi item kerja melalui penerapan dengan menggunakan kata kunci

Anda sekarang dapat mengatasi item kerja melalui penerapan yang dibuat ke cabang default dengan menggunakan kata-kata kunci seperti perbaikan, memperbaiki, atau diperbaiki. Misalnya, Anda dapat menulis - "perubahan ini tetap #476" dalam pesan penerapan dan item kerja Anda #476 akan selesai ketika penerapan didorong atau digabungkan ke cabang default. Untuk lebih jelasnya, silakan lihat dokumentasinya di sini.

Granularitas untuk ulasan otomatis

Sebelumnya, saat menambahkan peninjau tingkat grup ke permintaan pull, hanya satu persetujuan yang diperlukan dari grup yang ditambahkan. Sekarang Anda dapat menetapkan kebijakan yang memerlukan lebih dari satu peninjau dari tim untuk menyetujui permintaan pull saat menambahkan peninjau otomatis. Selain itu, Anda dapat menambahkan kebijakan untuk mencegah pemohon menyetujui perubahan mereka sendiri.

Cuplikan layar memperlihatkan kotak dialog Sertakan peninjau secara otomatis.

Menggunakan autentikasi berbasis akun layanan untuk membuat sambungan ke AKS

Sebelumnya, saat mengonfigurasi Azure Pipelines dari Pusat Penyebaran AKS, kami menggunakan Sambungan Azure Resource Manager. Koneksi ini memiliki akses ke seluruh kluster dan bukan hanya namespace yang alurnya dikonfigurasi. Dengan pembaruan ini, alur kami akan menggunakan autentikasi berbasis akun layanan untuk terhubung ke kluster sehingga hanya akan memiliki akses ke namespace yang terkait dengan alur tersebut.

Pratinjau file Markdown dalam permintaan pull Diff secara berdampingan

Sekarang Anda dapat melihat pratinjau tampilan file markdown dengan menggunakan tombol Pratinjau baru. Selain itu, Anda dapat melihat konten lengkap file dari diff Berdampingan dengan memilih tombol Tampilan.

Cuplikan layar memperlihatkan file markdown dalam proyek dengan opsi Tampilan dan Pratinjau yang dipanggil.

Kedaluwarsa kebijakan kompilasi untuk kompilasi manual

Kebijakan memberlakukan kualitas kode tim Anda dan mengubah standar manajemen. Sebelumnya, Anda dapat menetapkan kebijakan kedaluwarsa kompilasi untuk kompilasi otomatis. Sekarang Anda dapat mengatur kebijakan kedaluwarsa kompilasi ke kompilasi manual Anda juga.

Cuplikan layar kotak dialog Tambahkan kebijakan build dengan bagian Kedaluwarsa Build.

Menambahkan kebijakan untuk memblokir penerapan berdasarkan email pembuat penerapan

Administrator sekarang dapat mengatur kebijakan pendorongan untuk mencegah penerapan didorong ke suatu repositori dan pada repositori tersebut email pembuat penerapannya tidak cocok dengan pola yang disediakan.

Cuplikan layar memperlihatkan Kebijakan untuk semua repositori Git pada tab Kebijakan dengan opsi Terapkan validasi email pembuat diatur ke Aktif.

Fitur ini diprioritaskan berdasarkan saran dari Komunitas Pengembang untuk memberikan pengalaman serupa. Kami akan terus membuka tiket dan mendorong pengguna untuk memberi tahu kami, jenis kebijakan push lain yang ingin Anda lihat.

Menandai file dengan status ditinjau dalam permintaan pull

Terkadang, Anda perlu meninjau permintaan pull yang berisi perubahan pada sejumlah besar file dan mungkin sulit untuk melacak file mana yang telah Anda tinjau. Sekarang Anda dapat menandai file dengan status ditinjau dalam permintaan pull.

Anda dapat menandai file dengan status ditinjau dengan menggunakan menu drop-down di samping nama file atau dengan mengarahkan mouse ke atas dan mengeklik nama file.

Catatan

Fitur ini hanya dimaksudkan untuk melacak kemajuan Anda saat Anda meninjau permintaan pull. Hal ini tidak memperlihatkan pemungutan suara pada permintaan pull sehingga tanda ini hanya akan terlihat oleh peninjau.

Cuplikan layar memperlihatkan proyek dengan opsi Tampilkan di file explorer dan Tandai sebagai opsi yang ditinjau terlihat.

Fitur ini diprioritaskan berdasarkan saran dari Komunitas Pengembang.

UI Web baru untuk halaman arahan Azure Repos

Anda sekarang dapat mencoba halaman arahan modern, cepat, dan ramah seluler baru kami dalam Repositori Azure. Halaman ini tersedia dengan status halaman arahan Repositori Baru. Halaman arahan mencakup semua halaman kecuali untuk detail permintaan pull, detail penerapan, dan perbandingan cabang.

Web

Cuplikan layar UI web baru untuk halaman arahan Azure Repos.

Seluler

Cuplikan layar UI seluler baru untuk halaman arahan Azure Repos.

Administrasi kebijakan cabang lintas repositori

Kebijakan cabang adalah salah satu fitur canggih Repositori Azure yang membantu Anda melindungi cabang penting. Meskipun kemampuan untuk menetapkan kebijakan di tingkat proyek ada di REST API, tidak ada antarmuka pengguna untuk itu. Sekarang, admin dapat menetapkan kebijakan pada cabang tertentu atau cabang default di semua repositori dalam proyek mereka. Misalnya, admin dapat memerlukan dua peninjau minimum untuk semua permintaan pull yang dibuat ke setiap cabang utama di setiap repositori dalam proyek mereka. Anda dapat menemukan fitur Tambahkan perlindungan cabang di Pengaturan Proyek Repositori.

Cuplikan layar kotak dialog Tambahkan perlindungan cabang.

Halaman arahan konversi platform web baru

Kami telah memperbarui pengalaman pengguna halaman arahan Repositori untuk membuatnya modern, cepat, dan ramah seluler. Berikut adalah dua contoh halaman yang telah diperbarui, kami akan terus memperbarui halaman lain di pembaruan mendatang.

Pengalaman web:

Cuplikan layar halaman arahan konversi platform web.

Pengalaman seluler:

Cuplikan layar halaman File konversi platform seluler.

Cuplikan layar halaman Penerapan konversi platform seluler.

Dukungan untuk bahasa Kotlin

Kami sangat senang mengumumkan bahwa kami sekarang mendukung penyorotan bahasa Kotlin di editor file. Penyorotan akan meningkatkan keterbacaan file teks Kotlin dan membantu Anda memindai cepat untuk menemukan kesalahan. Kami memprioritaskan fitur ini berdasarkan saran dari Komunitas Pengembang.

Cuplikan layar file Kotlin yang ditampilkan di UI.

Langganan pemberitahuan kustom untuk draf permintaan pull

Untuk membantu mengurangi jumlah pemberitahuan email dari permintaan pull, Anda sekarang dapat membuat langganan pemberitahuan kustom untuk permintaan pull yang dibuat atau diperbarui dalam status draf. Anda bisa mendapatkan email khusus untuk draf permintaan pull atau memfilter email dari draf permintaan pull sehingga tim Anda tidak mendapatkan pemberitahuan sebelum permintaan pull siap untuk ditinjau.

Cuplikan layar kotak dialog Langganan baru memperlihatkan bahwa Draf telah ditambahkan sebagai opsi ke fitur Kriteria filter.

Peningkatan kemampuan tindakan PR

Ketika ada banyak permintaan pull yang perlu ditinjau, Anda mungkin kesulitan untuk menentukan, tindakan mana yang sebaiknya diambil terlebih dahulu. Untuk meningkatkan kemampuan bertindak untuk permintaan pull, Anda sekarang dapat membuat beberapa kueri kustom di halaman daftar permintaan pull dengan beberapa opsi baru untuk melakukan filter, seperti status draf. Kueri ini akan membuat bagian terpisah dan dapat diciutkan di halaman permintaan pull Anda selain "Dibuat oleh saya" dan "Ditetapkan kepada saya". Anda juga dapat menolak untuk meninjau permintaan pull yang ditambahkan melalui menu Vote atau menu konteks di halaman daftar permintaan pull. Di bagian kustom, Anda sekarang akan melihat tab terpisah untuk permintaan pull, yaitu tab yang telah mendapatkan ulasan dari Anda dan tab yang tidak, karena Anda menolak untuk mengulasnya. Kueri kustom ini akan berfungsi di seluruh repositori pada tab "Permintaan pull saya" di beranda koleksi. Jika Anda ingin kembali ke permintaan pull, Anda dapat memberi bendera dan mereka akan muncul di bagian atas daftar Anda. Terakhir, permintaan pull yang telah diatur ke selesai otomatis akan ditandai dengan pil yang bertuliskan 'Selesai otomatis' dalam daftar.

Pipelines

Alur multi-tahapan

Kami telah mengerjakan pengalaman pengguna yang diperbarui untuk mengelola alur Anda. Pembaruan ini membuat alur merasakan pengalaman modern dan konsisten dengan arah Azure DevOps. Selain itu, pembaruan ini menggabungkan alur kompilasi klasik dan alur YAML multi-tahap ke dalam satu pengalaman. Pembaruan ini ramah seluler dan membawa berbagai peningkatan terkait cara Anda mengelola alur. Anda dapat menelusuri paling detail dan melihat detail alur, menjalankan detail, analitik alur, detail pekerjaan, log, dan lainnya.

Kemampuan berikut disertakan dalam pengalaman baru:

  • menampilkan dan mengelola beberapa tahap
  • menyetujui eksekusi alur
  • gulir kembali ke log saat alur masih berlangsung
  • kesehatan per cabang alur.

Penyebaran tanpa henti in YAML

Kami sangat senang dapat menyediakan fitur CD YAML Azure Pipelines. Sekarang, kami menawarkan pengalaman YAML terpadu, sehingga Anda dapat mengonfigurasi setiap alur untuk melakukan CI, CD, atau CI dan CD bersama-sama. Fitur CD YAML memperkenalkan beberapa fitur canggih baru yang tersedia untuk semua koleksi, dengan menggunakan alur YAML multi-tahap. Beberapa sorotan meliputi:

Jika Anda siap untuk mulai membangun, lihat dokumentasi atau blog untuk membangun alur CI/CD multi-tahap.

Mengelola variabel alur di editor YAML

Kami memperbarui pengalaman untuk mengelola variabel alur di editor YAML. Anda tidak lagi harus membuka editor klasik untuk menambahkan atau memperbarui variabel di alur YAML Anda.

Cuplikan layar memperlihatkan kotak dialog Variabel.

Menyetujui rilis langsung dari hub Rilis

Tindakan atas persetujuan yang tertunda telah dipermudah. Sebelumnya, persetujuan rilis dapat diberikan dari halaman detail rilis. Sekarang Anda dapat menyetujui rilis langsung dari hub Rilis.

Cuplikan layar memperlihatkan cara menyetujui rilis langsung dari hub Rilis.

Penyempurnaan dalam memulai alur

Pertanyaan umum terkait wizard memulai selama ini adalah kemampuan untuk mengganti nama file yang dihasilkan. Saat ini, status cek masuknya adalah azure-pipelines.yml di akar repositori Anda. Anda sekarang dapat memperbarui file ke nama atau lokasi file yang berbeda sebelum menyimpan alurnya.

Terakhir, kami Anda akan mengontrol lebih banyak saat cek masuk file azure-pipelines.yml ke cabang yang berbeda karena Anda dapat memilih untuk melewati pembuatan permintaan pull dari cabang tersebut.

Pratinjau dokumen YAML yang diurai sepenuhnya tanpa menerapkan atau menjalankan alur

Kami telah menambahkan mode pratinjau tanpa eksekusi untuk alur YAML. Sekarang, Anda dapat mencoba alur YAML tanpa menerapkannya ke repositori atau menjalankannya. Mengingat alur yang ada dan payload YAML baru opsional, API baru ini akan mengembalikan alur YAML lengkap kepada Anda. Di pembaruan mendatang, API ini akan digunakan dalam fitur editor baru.

Untuk pengembang: POST ke dev.azure.com/<org>/<project>/_apis/pipelines/<pipelineId>/runs?api-version=5.1-preview dengan isi JSON seperti ini:

{
  "PreviewRun": true,
  "YamlOverride": "
# your new YAML here, optionally
"
}

Respons akan berisi YAML yang dirender.

Jadwal Cron di YAML

Sebelumnya, Anda dapat menggunakan editor UI guna menentukan pemicu terjadwal untuk alur YAML. Dengan rilis ini, Anda dapat menjadwalkan kompilasi dengan menggunakan sintaks cron dalam file YAML Anda dan menggunakan manfaat berikut:

  1. Konfigurasi sebagai kode: Anda dapat melacak jadwal bersama dengan alur Anda sebagai bagian dari kode.
  2. Ekspresif: Anda memiliki kekuatan yang lebih ekspresif dalam menentukan jadwal daripada yang sebelumnya dengan UI. Misalnya, lebih mudah untuk menentukan satu jadwal yang memulai eksekusi setiap jam.
  3. Standar industri: Banyak pengembang dan administrator sudah terbiasa dengan sintaks cron.
schedules:
- cron: "0 0 * * *"
 displayName: Daily midnight build
 branches:
  include:
  - main
  - releases/*
  exclude:
  - releases/ancient/*
 always: true

Kami juga telah memudahkan Anda untuk mendiagnosis masalah dengan jadwal cron. Eksekusi terjadwal di menu Alur eksekusi akan memberi Anda pratinjau tentang beberapa eksekusi terjadwal yang akan datang untuk alur Anda agar Anda terbantu mendiagnosis kesalahan dengan jadwal cron Anda.

Cuplikan layar memperlihatkan menu Jalankan alur dengan opsi Eksekusi terjadwal yang dipanggil.

Pembaruan untuk antarmuka pengguna koneksi layanan

Kami telah mengerjakan pengalaman pengguna yang diperbarui untuk mengelola koneksi layanan Anda. Pembaruan ini membuat pengalaman sambungan layanan modern dan konsisten dengan arah Azure DevOps. Kami memperkenalkan antarmuka pengguna baru untuk sambungan layanan sebagai fitur pratinjau awal tahun ini. Terima kasih kepada semua pihak yang mencoba pengalaman baru dan memberikan umpan balik berharga kepada kami.

Cuplikan layar kotak dialog Koneksi layanan baru.

Seiring dengan refresh pengalaman pengguna, kami juga telah menambahkan dua kemampuan yang sangat penting untuk menggunakan sambungan layanan dalam alur YAML: otorisasi alur dan persetujuan dan pemeriksaan.

Cuplikan layar memperlihatkan menu Edit di alur YAML dengan opsi Persetujuan dan pemeriksaan terlihat.

Pengalaman pengguna baru akan diaktifkan secara default dengan pembaruan ini. Anda masih akan memiliki opsi untuk menolak pratinjau.

Catatan

Kami berencana untuk memperkenalkan Berbagi Koneksi Layanan Lintas Proyek sebagai kemampuan baru. Anda dapat menemukan detail selengkapnya tentang pengalaman berbagi dan peran keamanan di sini.

Melompati tahapan dalam alur YAML

Saat memulai eksekusi manual, terkadang Anda mungkin ingin melompati beberapa tahap di alur Anda. Misalnya, jika Anda tidak ingin melakukan penyebaran ke produksi, atau jika Anda ingin melompati penyebaran ke beberapa lingkungan dalam produksi. Anda sekarang dapat melakukan ini dengan alur YAML Anda.

Panel alur eksekusi yang diperbarui menyajikan daftar tahapan dari file YAML, dan Anda memiliki opsi untuk melompati satu atau beberapa tahap tersebut. Anda harus berhati-hati saat melompati tahapan. Misalnya, jika tahap pertama Anda menghasilkan artefak tertentu yang diperlukan untuk tahap berikutnya, maka Anda tidak boleh melompati tahap pertama. Panel eksekusi menyajikan peringatan generik setiap kali Anda melompati tahapan yang memiliki dependensi hilir. Anda harus menilai sendiri apakah dependensi tersebut adalah dependensi artefak yang sebenarnya atau apakah dependensi ini hanya diperlukan untuk mengurutkan penyebaran.

Cuplikan layar memperlihatkan bagian Jalankan alur dengan opsi Tahapan untuk dijalankan dipanggil.

Melewati satu tahap sama dengan merangkai kembali dependensi antar tahap. Setiap dependensi hilir langsung dari tahap yang dilewati dibuat untuk bergantung pada induk upstram dari tahap yang dilompati. Jika eksekusi gagal dan jika Anda mencoba mengeksekusi ulang tahap yang gagal, upaya itu juga akan menunjukkan perilaku melompati yang sama. Untuk mengubah tahapan mana yang dilompati, Anda harus memulai eksekusi baru.

Cuplikan layar memperlihatkan bagian Tahapan untuk dijalankan dengan opsi dev dan opsi sebarkan dipilih.

Koneksi layanan antarmuka pengguna baru sebagai pengalaman default

Terdapat antarmuka pengguna sambungan layanan baru. Antarmuka pengguna baru ini dibangun berdasarkan standar desain modern dan dilengkapi dengan berbagai fitur penting untuk mendukung alur CD YAML multi-tahap seperti persetujuan, otorisasi, dan berbagi lintas proyek.

Cuplikan layar kotak dialog Jalankan alur.

Pelajari lebih lanjut tentang sambungan layanan di sini.

Pemilih versi sumber daya alur dalam dialog buat eksekusi

Kami menambahkan kemampuan untuk mengambil versi sumber daya alur secara manual dalam dialog buat eksekusi. Jika Anda menggunakan alur sebagai sumber daya di alur lain, Anda sekarang dapat memilih versi alur tersebut saat membuat eksekusi.

Cuplikan layar kotak dialog Tahapan untuk dijalankan.

az Penyempurnaan CLI untuk Alur Azure

Grup variabel alur dan perintah manajemen variabel

Mungkin sulit untuk memindahkan alur berbasis YAML dari satu proyek ke proyek lainnya karena Anda perlu mengatur variabel alur dan grup variabel secara manual. Namun, dengan grup variabel alur dan perintah manajemen variabel, Anda sekarang dapat membuat skrip pengaturan dan manajemen variabel alur dan grup variabel yang pada gilirannya dapat dikontrol versi, sehingga Anda dapat dengan mudah berbagi instruksi untuk memindahkan dan menyiapkan alur dari satu proyek ke proyek lainnya.

Eksekusi alur untuk cabang PR

Saat membuat PR, Anda mungkin kesulitan untuk memvalidasi apakah perubahan mungkin merusak eksekusi alur pada cabang target. Namun, dengan kemampuan untuk memicu eksekusi alur atau mengantrekan kompilasi untuk cabang PR, Anda sekarang dapat memvalidasi dan memvisualisasikan perubahan yang terjadi dengan menjalankannya berdasarkan alur target. Lihat dokumentasi perintah eksekusi alur az dan antrean kompilasi alur az untuk informasi selengkapnya.

Lompati eksekusi alur pertama

Saat membuat alur, ada kalanya Anda ingin membuat dan menerapkan file YAML dan tidak memicu eksekusi alur karena dapat mengakibatkan eksekusi yang salah karena berbagai alasan - infrastruktur tidak siap atau perlu membuat dan memperbarui variabel/grup variabel dll. Dengan Azure DevOps CLI, Anda sekarang dapat melompati eksekusi alur otomatis pertama pada pembuatan alur dengan menyertakan parameter --lompati-eksekusi-pertama. Lihat dokumentasi perintah buat alur az untuk informasi selengkapnya.

Peningkatan perintah titik akhir layanan

Perintah CLI titik akhir layanan hanya mendukung pengaturan dan manajemen titik akhir layanan azure rm dan github. Namun, dengan rilis ini, perintah titik akhir layanan memungkinkan Anda membuat titik akhir layanan apa pun dengan menyediakan konfigurasi melalui file dan menyediakan perintah yang dioptimalkan - az devops service-endpoint github dan az devops service-endpoint azurerm, yang menyediakan dukungan kelas satu untuk membuat titik akhir layanan dari jenis ini. Lihat dokumentasi perintah untuk informasi selengkapnya.

Pekerjaan penyebaran

Pekerjaan penyebaran adalah jenis pekerjaan khusus yang digunakan untuk menyebarkan aplikasi Anda ke lingkungan. Dengan pembaruan ini, kami telah menambahkan dukungan untuk referensi langkah dalam pekerjaan penyebaran. Misalnya, Anda dapat menentukan serangkaian langkah dalam satu file dan merujuknya dalam pekerjaan penyebaran.

Kami juga telah menambahkan dukungan untuk properti tambahan ke pekerjaan penyebaran. Misalnya, berikut ini adalah beberapa properti pekerjaan penyebaran yang sekarang dapat Anda atur,

  • timeoutInMinutes - lamanya eksekusi pekerjaan sebelum membatalkan secara otomatis
  • cancelTimeoutInMinutes - lamanya waktu untuk memberikan 'eksekusi selalu bahkan jika tugas batalkan' sebelum mengakhirinya
  • persyaratan - menjalankan pekerjaan secara kondisional
  • variabel - Nilai hardcode secara langsung dapat ditambahkan, atau grup variabel, grup variabel yang didukung oleh brankas kunci Azure dapat dijadikan rujukan atau Anda dapat merujuk ke sekumpulan variabel yang ditentukan dalam file.
  • continueOnError - jika pekerjaan di masa mendatang harus berjalan bahkan jika pekerjaan penyebaran ini gagal; default ke 'false'

Untuk detail selengkapnya tentang pekerjaan penyebaran dan sintaks lengkap untuk menentukan pekerjaan penyebaran, lihat Pekerjaan penyebaran.

Menampilkan info alur CD terkait dalam alur CI

Kami menambahkan dukungan ke detail alur YAML CD tempat alur CI disebut sebagai sumber daya alur. Dalam tampilan eksekusi alur CI, Anda sekarang akan melihat tab 'Alur terkait' baru tempat Anda dapat menemukan semua eksekusi alur yang menggunakan alur dan artefak Anda darinya.

Cuplikan layar memperlihatkan info alur CD terkait dalam alur CI.

Dukungan untuk paket GitHub dalam alur YAML

Baru-baru ini, kami memperkenalkan jenis sumber daya baru yang disebut paket yang menambahkan dukungan untuk menggunakan paket NuGet dan npm dari GitHub sebagai sumber daya dalam alur YAML. Sebagai bagian dari sumber daya ini, Anda sekarang dapat menentukan jenis paket (NuGet atau npm) yang ingin Anda gunakan dari GitHub. Anda juga dapat mengaktifkan pemicu alur otomatis setelah rilis versi paket baru. Saat ini, dukungan hanya tersedia untuk menggunakan paket dari GitHub, tetapi ke depannya, kami berencana untuk memperluas dukungan agar dapat menggunakan paket dari repositori paket lain seperti NuGet, npm, AzureArtifacts dan banyak lagi. Lihat contoh di bawah ini untuk mengetahui detailnya:

resources:
  packages:
    - package: myPackageAlias # alias for the package resource
      type: Npm # type of the package NuGet/npm
      connection: GitHubConn # Github service connection of type PAT
      name: nugetTest/nodeapp # <Repository>/<Name of the package>
      version: 1.0.9 # Version of the packge to consume; Optional; Defaults to latest
      trigger: true # To enable automated triggers (true/false); Optional; Defaults to no triggers

Catatan

Saat ini, paket GitHub hanya mendukung autentikasi berbasis PAT, yang berarti bahwa koneksi layanan GitHub dalam sumber daya paket harus berjenis PAT. Setelah batasan ini dicabut, kami akan memberikan dukungan untuk jenis autentikasi lainnya.

Secara default, paket tidak diunduh secara otomatis dalam pekerjaan Anda. Itulah sebabnya kami telah menerapkan makro getPackage yang memungkinkan Anda menggunakan paket yang ditentukan dalam sumber daya. Lihat contoh di bawah ini untuk mengetahui detailnya:

- job: job1
  pool: default
  steps:
    - getPackage: myPackageAlias # Alias of the package resource

Kami menambahkan tautan ke tampilan sumber daya lingkungan Kubernetes sehingga Anda dapat bernavigasi ke bilah Azure untuk kluster yang sesuai. Ini berlaku untuk lingkungan yang dipetakan ke namespace layanan di kluster Azure Kubernetes Service.

Cuplikan layar tampilan sumber daya lingkungan Kubernetes dengan tautan Kluster Azure Kubernetes Service dipanggil.

Filter folder rilis dalam langganan pemberitahuan

Folder memungkinkan pengorganisasian alur untuk mendorong penemuan dan kontrol keamanan yang lebih mudah. Sering kali, Anda mungkin ingin mengonfigurasi pemberitahuan email kustom untuk semua alur rilis, yang diwakili oleh semua alur di bawah folder. Sebelumnya, Anda harus mengonfigurasi beberapa langganan atau memiliki kueri kompleks dalam langganan untuk mendapatkan email yang terfokus. Dengan pembaruan ini, Anda sekarang dapat menambahkan klausul folder rilis ke acara penyebaran selesai dan persetujuan tertunda serta menyederhanakan langganan.

Cuplikan layar filter folder rilis dalam langganan pemberitahuan.

Saat ini, Anda dapat secara otomatis menautkan item kerja dengan kompilasi klasik. Namun, hal ini tidak dapat dilakukan dengan alur YAML. Dengan pembaruan ini kami telah mengatasi kesenjangan ini. Saat Anda berhasil menjalankan alur dengan menggunakan kode dari cabang tertentu, Azure Pipelines akan secara otomatis mengaitkan eksekusi dengan semua item kerja (yang disimpulkan melalui penerapan dalam kode tersebut). Saat membuka item kerja, Anda akan dapat melihat eksekusi tempat kode untuk item kerja tersebut dibangun. Untuk mengonfigurasi ini, gunakan panel pengaturan alur.

Batalkan tahap dalam eksekusi alur YAML multi-tahap

Saat menjalankan alur YAML multi-tahap, Anda sekarang dapat membatalkan eksekusi tahap saat hal tersebut sedang berlangsung. Anda akan mendapat manfaat jika mengetahui bahwa tahapan akan gagal atau jika Anda memiliki eksekusi lain yang ingin Anda mulai.

Mencoba kembali tahapan yang gagal

Salah satu fitur yang paling banyak diminta dalam alur multi-tahap adalah kemampuan untuk mencoba kembali tahap yang gagal tanpa harus memulai dari awal. Dengan pembaruan ini, kami menambahkan banyak fungsi ini.

Anda sekarang dapat mencoba kembali tahap alur saat eksekusi gagal. Setiap pekerjaan, yang gagal saat pertama kali dicoba dan bergantung secara transitif pada pekerjaan yang gagal, akan dicoba kembali.

Ini dapat membantu menghemat waktu Anda dalam beberapa cara. Misalnya, ketika menjalankan beberapa pekerjaan dalam satu tahap, Anda mungkin ingin setiap tahap menjalankan pengujian pada platform yang berbeda. Jika pengujian pada satu platform gagal sementara yang lain lulus, Anda dapat menghemat waktu dengan tidak mengeksekusi kembali pekerjaan yang lulus. Sebagai contoh lain, tahap penyebaran mungkin gagal karena koneksi jaringan tidak berfungsi. Mencoba kembali tahap tersebut akan membantu Anda menghemat waktu tanpa harus menghasilkan kompilasi lain.

Terdapat beberapa celah yang diketahui dalam fitur ini. Misalnya, Anda tidak dapat mencoba kembali tahap yang Anda batalkan secara eksplisit. Kami berupaya menutup celah ini dalam pembaruan mendatang.

Persetujuan dalam alur YAML multi-tahap

Alur CD YAML Anda mungkin berisi persetujuan manual. Pemilik infrastruktur dapat melindungi lingkungan mereka dan mencari persetujuan manual sebelum suatu tahap dalam alur apa pun yang disebarkan kepada mereka. Dengan pemisahan peran yang lengkap antara pemilik infrastruktur (lingkungan) dan aplikasi (alur), Anda akan memastikan sign off manual untuk penyebaran dalam alur tertentu dan mendapatkan kontrol pusat saat menerapkan pemeriksaan yang sama di semua penyebaran ke lingkungan.

Cuplikan layar menu Tambahkan sumber daya dengan opsi Pemeriksaan digaris bawahi.

Eksekusi alur yang disebarkan ke dev akan berhenti untuk mendapatkan persetujuan pada awal tahap.

Cuplikan layar memperlihatkan bahwa penyebaran sedang menunggu persetujuan.

Peningkatan batas dan frekuensi untuk jeda pada gerbang

Sebelumnya, batas jeda pada gerbang dalam alur rilis adalah tiga hari. Dengan pembaruan ini, batas jeda telah ditingkatkan menjadi 15 hari agar gerbang memiliki durasi yang lebih lama. Kami juga meningkatkan frekuensi gerbang menjadi 30 menit.

Templat gambar kompilasi baru untuk Dockerfile

Sebelumnya, saat membuat alur baru untuk Dockerfile dalam pembuatan alur baru, templat merekomendasikan pendorongan gambar ke Azure Container Registry dan penyebaran ke Azure Kubernetes Service. Kami menambahkan templat baru agar Anda dapat membuat gambar menggunakan agen tanpa perlu melakukan pendorongan ke registri kontainer.

Cuplikan layar kotak dialog Docker.

Tugas baru untuk mengonfigurasi pengaturan aplikasi Azure App Service

Azure App Service memungkinkan konfigurasi melalui berbagai pengaturan seperti pengaturan aplikasi, string koneksi, dan pengaturan konfigurasi umum lainnya. Kami sekarang memiliki tugas Azure Pipelines baru Pengaturan Azure App Service yang mendukung konfigurasi pengaturan ini secara massal menggunakan sintaks JSON di aplikasi web Anda atau slot penyebarannya. Tugas ini dapat digunakan bersama dengan tugas layanan Aplikasi lainnya untuk menyebarkan, mengelola, dan mengonfigurasi aplikasi Web, aplikasi Fungsi, atau App Services kontainer lainnya.

Cuplikan layar memperlihatkan kotak dialog Pengaturan Azure App Service.

Azure App Service sekarang mendukung Pertukaran dengan pratinjau

Azure App Service sekarang mendukung Pertukaran dengan pratinjau pada slot penyebarannya. Ini adalah cara yang baik untuk memvalidasi aplikasi dengan konfigurasi produksi sebelum aplikasi benar-benar ditukar dari slot penahapan ke slot produksi. Tindakan ini juga akan memastikan bahwa slot target/produksi tidak mengalami waktu henti.

Tugas Azure App Service sekarang mendukung pertukaran multi-fase ini melalui tindakan baru berikut:

  • Mulai Pertukaran dengan Pratinjau - Memulai pertukaran dengan pratinjau (pertukaran multi-fase) dan menerapkan konfigurasi slot target (misalnya, slot produksi) ke slot sumber.
  • Selesaikan Pertukaran dengan Pratinjau - Saat Anda siap untuk menyelesaikan pertukaran yang tertunda, pilih tindakan Selesaikan Pertukaran dengan Pratinjau.
  • Batalkan Pertukaran dengan Pratinjau - Untuk membatalkan pertukaran yang tertunda, pilih Batalkan Pertukaran dengan Pratinjau.

Cuplikan layar memperlihatkan kotak dialog Azure App Service kelola dengan pengaturan pertukaran multi-fase baru di daftar dropdown Tindakan.

Filter tingkat tahap untuk artefak Azure Container Registry dan Docker Hub

Sebelumnya, filter ekspresi reguler untuk artefak Azure Container Registry dan Docker Hub hanya tersedia di tingkat alur rilis. Mereka sekarang telah ditambahkan pada tingkat tahapan juga.

Cuplikan layar memperlihatkan bahwa Anda dapat menggunakan ekspresi reguler di tingkat penahapan.

Penyempurnaan persetujuan dalam alur YAML

Kami telah mengaktifkan konfigurasi persetujuan pada koneksi layanan dan kumpulan agen. Untuk persetujuan, kami mengikuti pemisahan peran antara pemilik infrastruktur dan pengembang. Dengan mengonfigurasi persetujuan pada sumber daya Anda seperti lingkungan, koneksi layanan, dan kumpulan agen, Anda akan yakin bahwa semua eksekusi alur yang menggunakan sumber daya akan memerlukan persetujuan terlebih dahulu.

Pengalaman ini mirip dengan mengonfigurasi persetujuan untuk lingkungan. Ketika persetujuan tertunda pada sumber daya yang direferensikan dalam suatu tahap, eksekusi alur menunggu sampai alur disetujui secara manual.

Cuplikan layar memperlihatkan tab Kebijakan dengan halaman Gunakan persetujuan manual dan opsi Create terlihat.

Dukungan pengujian struktur kontainer di Alur Azure

Penggunaan kontainer dalam aplikasi meningkat diikuti dengan kebutuhan akan pengujian dan validasi yang kuat. Azure Pipelines sekarang menghadirkan dukungan untuk Pengujian Struktur Kontainer. Kerangka kerja ini menyediakan cara yang nyaman dan kuat untuk memverifikasi konten dan struktur kontainer Anda.

Anda dapat memvalidasi struktur gambar berdasarkan empat kategori pengujian yang dapat dieksekusi bersama-sama: pengujian perintah, pengujian keberadaan file, pengujian konten file, dan pengujian metadata. Anda dapat menggunakan hasilnya dalam alur untuk membuat keputusan go/no go. Data pengujian tersedia dalam eksekusi alur dengan pesan kesalahan untuk membantu Anda memecahkan masalah kegagalan dengan lebih baik.

Masukkan file konfigurasi dan detail gambar

Cuplikan layar memperlihatkan halaman Uji Struktur Kontainer.

Ujilah data dan buat ringkasan

Cuplikan layar memperlihatkan bahwa ringkasan dan data pengujian tersedia.

Dekorator alur untuk alur rilis

Dekorator alur memungkinkan penambahan langkah ke awal dan akhir setiap pekerjaan. Ini berbeda dengan penambahan langkah-langkah ke satu definisi karena hal tersebut berlaku untuk semua alur dalam koleksi.

Kami telah mendukung dekorator untuk kompilasi dan alur YAML, sedangkan pelanggan menggunakannya untuk mengontrol langkah-langkah dalam pekerjaan mereka secara terpusat. Kami sekarang memperluas dukungan untuk merilis alur juga. Anda dapat membuat ekstensi untuk menambahkan langkah-langkah yang menargetkan titik kontribusi baru dan mereka akan ditambahkan ke semua pekerjaan agen dalam alur rilis.

Menyebarkan Azure Resource Manager (ARM) ke tingkat grup langganan dan manajemen

Sebelumnya, kami hanya mendukung penyebaran ke tingkat Grup Sumber Daya. Dengan pembaruan ini, kami telah menambahkan dukungan untuk menyebarkan templat ARM ke tingkat grup langganan dan manajemen. Ini akan membantu Anda saat menyebarkan sekumpulan sumber daya bersama-sama tetapi menempatkannya di grup sumber daya atau langganan yang berbeda. Misalnya, menyebarkan mesin virtual cadangan untuk Azure Site Recovery ke grup sumber daya dan lokasi terpisah.

Kemampuan CD untuk alur YAML multi-tahap Anda

Anda sekarang dapat menggunakan artefak yang diterbitkan oleh alur CI Anda dan mengaktifkan pemicu penyelesaian alur. Dalam alur YAML multi-tahap, kami memperkenalkan pipelines sebagai sumber daya. Di YAML, Anda sekarang dapat merujuk ke alur lain dan juga mengaktifkan pemicu CD.

Berikut adalah skema YAML terperinci untuk sumber daya alur.

resources: 
  pipelines:
  - pipeline: MyAppCI  # identifier for the pipeline resource
    project:  DevOpsProject # project for the build pipeline; optional input for current project
    source: MyCIPipeline  # source pipeline definition name
    branch: releases/M159  # branch to pick the artifact, optional; defaults to all branches
    version: 20190718.2 # pipeline run number to pick artifact; optional; defaults to last successfully completed run
    trigger:     # Optional; Triggers are not enabled by default.
      branches:  
        include:  # branches to consider the trigger events, optional; defaults to all branches.
        - main
        - releases/*
        exclude:   # branches to discard the trigger events, optional; defaults to none.
        - users/*  

Selain itu, Anda dapat mengunduh artefak yang diterbitkan oleh sumber daya alur Anda menggunakan tugas - download.

steps: 
- download: MyAppCI  # pipeline resource identifier
    artifact:  A1 # name of the artifact to download; optional; defaults to all artifacts

Untuk detail selengkapnya, lihat dokumentasi mengunduh artefak di sini.

Mengatur strategi penyebaran canary pada lingkungan untuk Kubernetes

Salah satu keuntungan utama dari pengiriman berkelanjutan pembaruan aplikasi adalah kemampuan untuk segera mendorong pembaruan ke dalam produksi untuk layanan mikro tertentu. Ini memberi Anda kemampuan untuk segera merespons perubahan dalam persyaratan bisnis. Lingkungan diperkenalkan sebagai konsep kelas satu yang memungkinkan pengaturan strategi penyebaran dan memfasilitasi rilis waktu henti nol. Sebelumnya, kami mendukung strategi runOnce yang menjalankan langkah-langkah terlebih dahulu secara berurutan. Dengan dukungan untuk strategi canary dalam alur multi-tahap, Anda sekarang dapat mengurangi risiko dengan secara perlahan melanjutkan perubahan ke subset kecil. Seraya semakin yakin pada versi baru, Anda dapat mulai melanjutkannya ke lebih banyak server di infrastruktur Anda, dan merutekan lebih banyak pengguna ke sana.

jobs:
- deployment:
  environment: musicCarnivalProd
  pool:
    name: musicCarnivalProdPool 
  strategy:                 
    canary:     
      increments: [10,20] 
      preDeploy:                                    
        steps:          
        - script: initialize, cleanup....  
      deploy:            
        steps:
        - script: echo deploy updates...
        - task: KubernetesManifest@0
          inputs:
            action: $(strategy.action)      
            namespace: 'default'
            strategy: $(strategy.name)
            percentage: $(strategy.increment)
            manifests: 'manifest.yml'
      postRouteTaffic:
        pool: server
        steps:          
        - script: echo monitor application health...  
      on:
        failure:
          steps:
	  - script: echo clean-up, rollback...  
        success:
          steps:
          - script: echo checks passed, notify...

Strategi canary untuk Kuberenetes akan terlebih dahulu menyebarkan perubahan dengan 10% pod diikuti oleh 20% sambil memantau kesehatan selama postRouteTraffic. Jika semua berjalan dengan baik, dukungan penggunaan 100% akan diberikan.

Kami mencari umpan balik awal tentang dukungan untuk sumber daya mesin virtual di lingkungan dan menjalankan strategi penyebaran berkelanjutan di beberapa komputer. Hubungi kami untuk mendaftar.

Kebijakan persetujuan untuk alur YAML

Dalam alur YAML, kami mengikuti konfigurasi persetujuan yang dikontrol pemilik sumber daya. Pemilik sumber daya mengonfigurasi persetujuan untuk sumber daya dan saluran apa pun yang menggunakan jeda sumber daya untuk persetujuan sebelum tahap yang menggunakan sumber daya dimulai. Pemilik aplikasi berbasis SOX umumnya membatasi pemohon penyebaran agar tidak menyetujui penyebaran mereka sendiri.

Anda sekarang dapat menggunakan opsi persetujuan tingkat lanjut untuk mengonfigurasi kebijakan persetujuan seperti pemohon tidak boleh menyetujui, serta memerlukan persetujuan dari subset pengguna dan jeda persetujuan.

Cuplikan layar memperlihatkan kotak dialog persetujuan Create.

ACR sebagai sumber daya alur kelas satu

Jika Anda perlu menggunakan gambar kontainer yang diterbitkan ke ACR (Azure Container Registry) sebagai bagian dari alur Anda dan memicu alur Anda setiap kali gambar baru diterbitkan, Anda dapat menggunakan sumber daya kontainer ACR.

resources:
  containers:
  - container: MyACR  #container resource alias
    type: ACR
    azureSubscription: RMPM  #ARM service connection
    resourceGroup: contosoRG
    registry: contosodemo
    repository: alphaworkz
    trigger: 
      tags:
        include: 
        - production 

Selain itu, meta-data gambar ACR dapat diakses menggunakan variabel yang telah ditentukan sebelumnya. Daftar berikut mencakup variabel ACR yang tersedia untuk menentukan sumber daya kontainer ACR di alur Anda.

resources.container.<Alias>.type
resources.container.<Alias>.registry
resources.container.<Alias>.repository
resources.container.<Alias>.tag 
resources.container.<Alias>.digest
resources.container.<Alias>.URI
resources.container.<Alias>.location

Penyempurnaan untuk mengevaluasi kebijakan pemeriksaan artefak dalam alur

Kami telah meningkatkan evaluasi pemeriksaan artefak untuk mempermudah penambahan kebijakan dari daftar definisi kebijakan unik. Definisi kebijakan akan dibuat secara otomatis dan ditambahkan ke periksa konfigurasi yang dapat diperbarui jika diperlukan.

Cuplikan layar memperlihatkan kotak dialog Evaluasi artefak dengan opsi Gunakan templat yang digaris bawahi.

Cuplikan layar memperlihatkan kotak dialog Konfigurasikan kebijakan artefak dengan daftar templat yang akan disertakan.

Dukungan untuk variabel output dalam pekerjaan penyebaran

Anda sekarang dapat menentukan variabel output dalam kait siklus hidup pekerjaan penyebaran dan menggunakannya 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 berkelanjutan : $[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-16.04'
  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-16.04'
  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 pemutaran kembali perubahan penting

Dalam alur rilis klasik, penyebaran terjadwal biasanya diandalkan untuk pembaruan reguler. Tetapi, ketika mengalami perbaikan penting, Anda dapat memilih untuk memulai penyebaran manual di luar band. Saat melakukannya, rilis yang lebih lama terus tetap terjadwal. Hal ini menimbulkan tantangan karena penyebaran manual akan digulung balik ketika penyebaran dilanjutkan sesuai jadwal. Banyak pengguna seperti Anda melaporkan masalah ini dan kami sekarang telah memperbaikinya. Dengan perbaikan, semua penyebaran terjadwal yang lebih lama ke lingkungan akan dibatalkan saat Anda memulai penyebaran secara manual. Ini hanya berlaku ketika opsi antrean dipilih sebagai "Sebarkan yang terbaru dan batalkan yang lain".

Otorisasi sumber daya yang disederhanakan dalam alur YAML

Sumber daya adalah apa pun yang digunakan oleh alur yang berada di luar alur. Sumber daya harus diotorisasi sebelum dapat digunakan. Sebelumnya, saat menggunakan sumber daya yang tidak sah dalam alur YAML, sumber daya gagal dengan kesalahan otorisasi sumber daya. Anda harus mengotorisasi sumber daya dari halaman ringkasan eksekusi yang gagal. Selain itu, alur gagal jika menggunakan variabel yang mereferensikan sumber daya yang tidak sah.

Kami sekarang mempermudah pengelolaan otorisasi sumber daya. Alih-alih gagal mengeksekusi, eksekusi akan menunggu izin pada sumber daya saat tahap yang menggunakan sumber daya dimulai. Pemilik sumber daya dapat melihat alur dan mengotorisasi sumber daya dari halaman Keamanan.

Cuplikan layar memperlihatkan tahap Dev berada dalam status Menunggu dengan indikator yang mengatakan bahwa Izin diperlukan.

Evaluasi pemeriksaan artefak

Anda sekarang dapat menentukan serangkaian kebijakan dan menambahkan evaluasi kebijakan sebagai pemeriksaan pada lingkungan untuk artefak gambar kontainer. Saat alur dieksekusi, eksekusi dijeda sebelum memulai tahap yang menggunakan lingkungan. Kebijakan yang ditentukan dievaluasi berdasarkan metadata yang tersedia untuk gambar yang sedang disebarkan. Pemeriksaan lolos jika kebijakan berhasil dan menandai tahap dengan status gagal jika pemeriksaan tersebut gagal.

Cuplikan layar kotak dialog Evaluasi kebijakan artefak.

Pembaruan untuk tugas penyebaran templat ARM

Sebelumnya, kami tidak memfilter koneksi layanan dalam tugas penyebaran templat ARM. Hal ini dapat menggagalkan penyebaran jika Anda memilih koneksi layanan cakupan yang lebih rendah saat menyebarkan templat ARM ke cakupan yang lebih luas. Sekarang, kami menambahkan pemfilteran koneksi layanan untuk memfilter koneksi layanan dengan cakupan yang lebih rendah berdasarkan cakupan penyebaran yang Anda pilih.

ReviewApp di Lingkungan

ReviewApp menyebarkan setiap permintaan pull dari repositori Git Anda ke sumber daya lingkungan dinamis. Peninjau dapat melihat tampilan perubahan tersebut serta bekerja dengan layanan dependen lainnya sebelum digabungkan ke cabang utama dan disebarkan ke produksi. Ini akan memudahkan Anda untuk membuat dan mengelola sumber daya reviewApp dan mendapat manfaat dari semua kemampuan pelacakan dan kemampuan diagnosis pada fitur lingkungan. Dengan menggunakan kata kunci reviewApp, Anda dapat membuat klon sumber daya (secara dinamis membuat sumber daya baru berdasarkan sumber daya yang ada di lingkungan) dan menambahkan sumber daya baru ke lingkungan.

Berikut ini adalah sampel cuplikan YAML tentang menggunakan reviewApp di bawah lingkungan.

jobs:
- deployment:
  environment: 
     name: smarthotel-dev      
     resourceName: $(System.PullRequest.PullRequestId) 
  pool:
    name: 'ubuntu-latest'
  strategy:                 
    runOnce:            
      pre-deploy: 
        steps:       
        - reviewApp: MasterNamespace

Mengumpulkan metadata otomatis dan yang ditentukan pengguna dari alur

Sekarang Anda dapat mengaktifkan koleksi metadata otomatis dan yang ditentukan pengguna dari tugas alur. Anda dapat menggunakan metadata untuk menerapkan kebijakan artefak pada lingkungan dengan menggunakan evaluasi pemeriksaan artefak.

Cuplikan layar kotak dialog Umum dengan opsi Terbitkan metadata dari alur diaktifkan.

Penyebaran mesin virtual pada Lingkungan

Salah satu fitur yang paling banyak diminta di Lingkungan adalah penyebaran mesin virtual. Dengan pembaruan ini, kami mengaktifkan sumber daya Mesin Virtual di Lingkungan. Anda sekarang dapat mengatur penyebaran di beberapa komputer dan melakukan pembaruan berkelanjutan menggunakan alur YAML. Anda juga dapat menginstal agen di setiap server target Anda secara langsung dan mendorong penyebaran berkelanjutan ke server tersebut. Selain itu, Anda dapat menggunakan katalog tugas lengkap pada komputer target Anda.

Cuplikan layar kotak dialog Lingkungan baru dengan opsi Komputer virtual dipilih dan dipanggil.

Penyebaran berkelanjutan menggantikan instans versi aplikasi sebelumnya dengan instans versi baru aplikasi pada satu set komputer (set berkelanjutan) di setiap perulangan.

Misalnya, penyebaran berkelanjutan di bawah ini memperbarui hingga lima target dalam setiap perulangan. maxParallel akan menentukan jumlah target yang dapat disebarkan, secara paralel. Pemilihan memperhitungkan jumlah target yang harus tetap tersedia setiap saat, tidak termasuk target yang disebarkan. Pilihan ini juga digunakan untuk menentukan kondisi keberhasilan dan kegagalan selama penyebaran.

jobs:
- deployment:
  displayName: web
  environment:
    name: musicCarnivalProd
    resourceType: VirtualMachine
  strategy:                 
    rolling:
      maxParallel: 5 #for percentages, mention as x%
      preDeploy:
        steps:
        - script: echo initialize, cleanup, backup, install certs...
      deploy:              
        steps:                                     
        - script: echo deploy ...      
      routeTraffic:
        steps:
        - script: echo routing traffic...   
      postRouteTaffic:
        steps:          
        - script: echo health check post routing traffic...  
      on:
        failure:
          steps:
          - script: echo restore from backup ..     
        success:
          steps:
          - script: echo notify passed...

Catatan

Dengan pembaruan ini, semua artefak yang tersedia dari alur saat ini dan dari sumber daya alur terkait hanya diunduh dalam deploy kait siklus hidup. Namun, Anda dapat memilih untuk mengunduh dengan menentukan tugas Unduh Artefak Alur. Terdapat beberapa celah yang diketahui dalam fitur ini. Misalnya, ketika Anda mencoba kembali suatu tahap, penyebaran akan dieksekusi kembali pada semua mesin virtual bukan hanya target yang gagal. Kami berupaya menutup celah ini dalam pembaruan mendatang.

Kontrol tambahan atas penyebaran Anda

Azure Pipelines telah mendukung penyebaran yang dikontrol dengan persetujuan manual selama beberapa waktu saat ini. Dengan penyempurnaan terbaru, Anda sekarang memiliki kontrol tambahan atas penyebaran Anda. Selain persetujuan, pemilik sumber daya sekarang dapat menambahkan checks otomatis untuk memverifikasi kebijakan keamanan dan kualitas. Pemeriksaan ini dapat digunakan untuk memicu operasi dan menunggunya selesai. Dengan menggunakan pemeriksaan tambahan, Anda sekarang dapat menentukan kriteria kesehatan berdasarkan beberapa sumber dan yakin bahwa semua penyebaran yang menargetkan sumber daya Anda aman, terlepas dari alur YAML yang melakukan penyebaran. Evaluasi setiap pemeriksaan dapat diulang secara berkala berdasarkan Interval Coba Lagi yang ditentukan untuk pemeriksaan. Pemeriksaan tambahan berikut sekarang tersedia:

  • Panggil REST API apa pun dan lakukan validasi berdasarkan isi respons atau panggilan balik dari layanan eksternal
  • Panggil fungsi Azure dan lakukan validasi berdasarkan respons atau panggilan balik dari fungsi
  • Buatlah kueri aturan Azure Monitor untuk pemberitahuan aktif
  • Pastikan alur memperluas satu atau beberapa templat YAML

Cuplikan layar kotak dialog centang Tambahkan.

Pemberitahuan persetujuan

Saat Anda menambahkan persetujuan ke lingkungan atau koneksi layanan, semua alur multi-tahap yang menggunakan sumber daya secara otomatis menunggu persetujuan di awal tahap. Pemberi persetujuan yang ditunjuk perlu menyelesaikan persetujuan sebelum alur dapat dilanjutkan.

Dengan pembaruan ini, pemberi izin dikirimi pemberitahuan email tentang persetujuan yang tertunda. Pengguna dan pemilik tim dapat menolak atau mengonfigurasi langganan kustom dengan menggunakan pengaturan pemberitahuan.

Cuplikan layar pemberitahuan persetujuan.

Mengonfigurasi Strategi Penyebaran dari portal Azure

Dengan kemampuan ini, kami telah mempermudah Anda untuk mengonfigurasi alur yang menggunakan strategi penyebaran pilihan Anda, misalnya, Rolling, Canary, atau Blue-Green. Dengan menggunakan strategi unik ini, Anda dapat melanjutkan pembaruan dengan cara yang aman dan mengurangi risiko penyebaran terkait. Untuk mengakses ini, klik pengaturan 'Pengiriman Berkelanjutan' di Mesin Virtual Azure. Di panel konfigurasi, Anda akan diminta untuk memilih detail tentang proyek Azure DevOps tempat alur akan dibuat, grup penyebaran, alur kompilasi yang menerbitkan paket yang akan disebarkan dan strategi penyebaran pilihan Anda. Ke depannya, alur fungsional penuh yang menyebarkan paket yang dipilih ke Mesin Virtual ini akan dikonfigurasi.

Untuk detail selengkapnya, lihat dokumentasi kami tentang mengonfigurasi Strategi Penyebaran.

Cuplikan layar yang memperlihatkan kotak dialog Pengiriman berkelanjutan.

Parameter runtime

Dengan parameter runtime, Anda dapat memiliki kontrol lebih besar atas nilai apa yang dapat diteruskan ke alur. Tidak seperti variabel, parameter runtime memiliki jenis data dan tidak secara otomatis menjadi variabel lingkungan. Dengan parameter runtime Anda dapat:

  • Memberikan nilai yang berbeda kepada skrip dan tugas saat runtime
  • Mengontrol jenis parameter, rentang yang diizinkan, dan default
  • Memilih pekerjaan dan tahapan secara dinamis dengan ekspresi templat

Untuk mempelajari selengkapnya tentang parameter runtime, lihat dokumentasi di sini.

Gunakan perluasan kata kunci dalam alur

Saat ini, alur dapat diperhitungkan ke dalam templat, sehingga mendukung penggunaan kembali dan mengurangi boilerplate. Struktur keseluruhan alur masih ditentukan oleh file YAML akar. Dengan pembaruan ini, kami menambahkan cara yang lebih terstruktur untuk menggunakan templat alur. File YAML akar sekarang dapat menggunakan perluasan kata kunci untuk menunjukkan bahwa struktur alur utama dapat ditemukan di file lain. Ini memberi Anda kendali atas segmen mana yang dapat diperluas atau diubah dan segmen mana yang diperbaiki. Kami juga telah meningkatkan parameter alur dengan jenis data untuk memperjelas kait yang dapat Anda sediakan.

Contoh ini menggambarkan cara Anda dapat menyediakan kait sederhana untuk digunakan pembuat alur. Templat akan selalu menjalankan kompilasi, secara opsional akan menjalankan langkah-langkah tambahan yang disediakan oleh alur, lalu menjalankan langkah pengujian opsional.


# azure-pipelines.yml
extends:
  template: build-template.yml
  parameters:
    runTests: true
    postBuildSteps:
    - script: echo This step runs after the build!
    - script: echo This step does too!

# build-template.yml
parameters:
- name: runTests
  type: boolean
  default: false
- name: postBuildSteps
  type: stepList
  default: []
steps:
- task: MSBuild@1   # this task always runs
- ${{ if eq(parameters.runTests, true) }}:
  - task: VSTest@2  # this task is injected only when runTests is true
- ${{ each step in parameters.postBuildSteps }}:
  - ${{ step }}

Variabel kontrol yang dapat ditimpa pada waktu antrean

Sebelumnya, Anda dapat menggunakan UI atau REST API untuk memperbarui nilai variabel apa pun sebelum memulai eksekusi baru. Meskipun pembuat alur dapat menandai variabel tertentu sebagai _settable at queue time_, sistem tidak memberlakukan ini, atau mencegah variabel lain diatur. Dengan kata lain, pengaturan hanya digunakan untuk meminta input tambahan saat memulai eksekusi baru.

Kami telah menambahkan pengaturan koleksi baru yang memberlakukan parameter _settable at queue time_. Ini akan memberi Anda kontrol atas variabel mana yang dapat diubah saat memulai eksekusi baru. Ke depannya, Anda tidak dapat mengubah variabel yang tidak ditandai oleh penulis sebagai _settable at queue time_.

Catatan

Pengaturan ini nonaktif secara default dalam koleksi yang ada, tetapi akan aktif secara default saat Anda membuat koleksi Azure DevOps baru.

Variabel baru yang telah ditentukan sebelumnya dalam alur YAML

Variabel memberi Anda cara yang mudah untuk mendapatkan bit kunci data ke berbagai bagian alur. Dengan pembaruan ini, kami telah menambahkan beberapa variabel yang telah ditentukan sebelumnya ke pekerjaan penyebaran. Variabel ini secara otomatis diatur oleh sistem, tercakup ke pekerjaan penyebaran tertentu dan bersifat baca-saja.

  • Environment.Id - ID lingkungan.
  • Environment.Name - Nama lingkungan yang ditargetkan oleh pekerjaan penyebaran.
  • Environment.ResourceId - ID sumber daya di lingkungan yang ditargetkan oleh pekerjaan penyebaran.
  • Environment.ResourceName - Nama sumber daya di lingkungan yang ditargetkan oleh pekerjaan penyebaran.

Periksa beberapa repositori

Alur sering kali bergantung pada berbagai repositori. Anda dapat memiliki repositori berbeda dengan sumber, alat, skrip, atau item lain yang Anda perlukan untuk membuat kode. Sebelumnya, Anda harus menambahkan repositori ini sebagai submodul atau sebagai skrip manual untuk menjalankan git checkout. Sekarang Anda dapat mengambil dan memeriksa repositori lain, selain repositori yang Anda gunakan untuk menyimpan saluran YAML Anda.

Misalnya, jika Anda memiliki repositori yang disebut MyCode dengan alur YAML dan repositori kedua yang disebut Tools, alur YAML Anda akan terlihat seperti ini:

resources:
  repositories:
  - repository: tools
    name: Tools
    type: git

steps:
- checkout: self
- checkout: tools
- script: dir $(Build.SourcesDirectory)

Langkah ketiga akan menampilkan dua direktori, MyCode dan Tools di direktori sumber.

Repositori Azure Repos Git didukung. Untuk informasi selengkapnya, lihat Pemeriksaan multi-repo.

Mendapatkan detail saat runtime tentang beberapa repositori

Saat alur berjalan, Azure Pipelines menambahkan informasi tentang repositori, cabang, dan penerapan yang memicu eksekusi. Setelah alur YAML mendukung pemeriksaan beberapa repositori, Anda mungkin juga ingin mengetahui repositori, cabang, dan penerapan yang diperiksa untuk repositori lain. Data ini tersedia melalui ekspresi runtime, yang sekarang dapat Anda petakan ke dalam variabel. Contohnya:

resources:
  repositories:
  - repository: other
    type: git
    name: MyProject/OtherTools

variables:
  tools.ref: $[ resources.repositories['other'].ref ]

steps:
- checkout: self
- checkout: other
- bash: echo "Tools version: $TOOLS_REF"

Izinkan repositori menjadi referensi untuk koleksi Azure Repos lainnya

Sebelumnya, ketika Anda mereferensikan repositori dalam alur YAML, semua repositori Azure Repos harus berada dalam koleksi yang sama dengan alur. Sekarang, Anda dapat menunjuk ke repositori di koleksi lain menggunakan koneksi layanan. Contohnya:

resources:
  repositories:
  - repository: otherrepo
    name: ProjectName/RepoName
    endpoint: MyServiceConnection
steps:
- checkout: self
- checkout: otherrepo

MyServiceConnection menunjuk ke koleksi Azure DevOps lain dan memiliki kredensial yang dapat mengakses repositori di proyek lain. Baik repositori, self dan otherrepo, akan berakhir cek keluar.

Penting

MyServiceConnection harus berupa koneksi layanan Azure Repos/Team Foundation Server, lihat gambar di bawah ini.

Cuplikan layar halaman Pengaturan Proyek dengan opsi Azure Repos/Team Foundation Server disorot.

Meta-data sumber daya alur sebagai variabel yang telah ditentukan sebelumnya

Kami telah menambahkan variabel yang telah ditentukan sebelumnya untuk sumber daya alur YAML dalam alur. Berikut adalah daftar variabel sumber daya alur yang tersedia.

resources.pipeline.<Alias>.projectName 
resources.pipeline.<Alias>.projectID 
resources.pipeline.<Alias>.pipelineName 
resources.pipeline.<Alias>.pipelineID 
resources.pipeline.<Alias>.runName 
resources.pipeline.<Alias>.runID
resources.pipeline.<Alias>.runURI
resources.pipeline.<Alias>.sourceBranch 
resources.pipeline.<Alias>.sourceCommit
resources.pipeline.<Alias>.sourceProvider 
resources.pipeline.<Alias>.requestedFor
resources.pipeline.<Alias>.requestedForID

kustomisasi dan kompose sebagai opsi bake di tugas KubernetesManifest

kustomisasi (bagian dari Kubernetes sig-cli) memungkinkan Anda menyesuaikan file YAML mentah dan bebas templat untuk beberapa tujuan dan membiarkan YAML asli tidak tersentuh. Opsi untuk kustomisasi telah ditambahkan di bawah tindakan bake tugas KubernetesManifest sehingga folder apa pun yang berisi file kustomization.yaml dapat digunakan untuk menghasilkan file manifes yang digunakan dalam tindakan penyebaran tugas KubernetesManifest.

steps:
- task: KubernetesManifest@0
  name: bake
  displayName: Bake K8s manifests from Helm chart
  inputs:
    action: bake
    renderType: kustomize
    kustomizationPath: folderContainingKustomizationFile

- task: KubernetesManifest@0
  displayName: Deploy K8s manifests
  inputs:
    kubernetesServiceConnection: k8sSC1
    manifests: $(bake.manifestsBundle)

kompose akan mengubah file Docker Compose menjadi sumber daya Kubernetes.

steps:
- task: KubernetesManifest@0
  name: bake
  displayName: Bake K8s manifests from Helm chart
  inputs:
    action: bake
    renderType: kompose
    dockerComposeFile: docker-compose.yaml

- task: KubernetesManifest@0
  displayName: Deploy K8s manifests
  inputs:
    kubernetesServiceConnection: k8sSC1
    manifests: $(bake.manifestsBundle)

Dukungan untuk kredensial admin kluster dalam tugas HelmDeploy

Sebelumnya, tugas HelmDeploy menggunakan kredensial pengguna kluster untuk penyebaran. Ini menghasilkan permintaan masuk interaktif dan alur yang gagal untuk kluster yang diaktifkan RBAC berbasis Azure Active Directory. Untuk mengatasi masalah ini, kami menambahkan kotak centang yang memungkinkan Anda menggunakan kredensial admin kluster alih-alih kredensial pengguna kluster.

Cuplikan layar bagan Paket dan sebarkan Helm memperlihatkan kotak centang gunakan kredensial admin kluster.

Input argumen dalam tugas Docker Compose

Bidang baru telah diperkenalkan dalam tugas Docker Compose agar Anda dapat menambahkan argumen seperti --no-cache. Argumen akan diturunkan oleh tugas saat menjalankan perintah seperti kompilasi.

Cuplikan layar tugas Docker Compose memperlihatkan kotak teks Argumen baru.

Peningkatan tugas rilis GitHub

Kami telah melakukan beberapa penyempurnaan pada tugas Rilis GitHub. Anda sekarang dapat memiliki kontrol yang lebih baik atas pembuatan rilis menggunakan bidang pola tag dengan menentukan ekspresi reguler tag dan rilis akan dibuat hanya ketika penerapan pemicu diberi tag dengan string yang cocok.

Cuplikan layar memperlihatkan tugas rilis GitHub dengan versi Tugas dan bagian Pola Tag yang dipanggil.

Kami juga telah menambahkan kemampuan untuk menyesuaikan pembuatan dan pemformatan changelog. Di bagian baru untuk konfigurasi changelog, Anda sekarang dapat menentukan rilis yang harus dibandingkan dengan rilis saat ini. Rilis Perbandingan dengan dapat menjadi rilis lengkap terakhir (tidak termasuk pra-rilis), rilis non-draf terakhir atau rilis sebelumnya yang cocok dengan tag rilis yang Anda berikan. Selain itu, tugas menyediakan bidang jenis changelog untuk memformat changelog. Berdasarkan pilihan, changelog akan menampilkan daftar penerapan atau daftar masalah/PR yang dikategorikan berdasarkan label.

Cuplikan layar memperlihatkan tugas rilis GitHub dengan bagian Bandingkan dengan dan Jenis changelog disorot.

Tugas alat penginstal Agen Kebijakan Terbuka

Agen Kebijakan Terbuka adalah mesin kebijakan tujuan umum sumber terbuka yang memungkinkan penegakan kebijakan terpadu dan sadar konteks. Kami telah menambahkan tugas alat penginstal Agen Kebijakan Terbuka. Ini sangat berguna untuk penegakan kebijakan dalam alur sehubungan dengan Infrastruktur sebagai penyedia Kode.

Misalnya, Agen Kebijakan Terbuka dapat mengevaluasi file kebijakan Rego dan paket Terraform dalam alur.

task: OpenPolicyAgentInstaller@0
    inputs:
          opaVersion: '0.13.5'

Dukungan untuk skrip PowerShell di tugas Azure CLI

Sebelumnya, Anda dapat menjalankan skrip batch dan bash sebagai bagian dari tugas Azure CLI. Dengan pembaruan ini, kami menambahkan dukungan untuk skrip inti PowerShell dan PowerShell ke tugas tersebut.

Cuplikan layar tugas Azure CLI memperlihatkan bahwa Powershell dan Powershell Core adalah opsi dalam daftar dropdown Jenis Skrip.

Penyebaran canary berbasis Antarmuka Jala Layanan di tugas KubernetesManifest

Sebelumnya ketika strategi canary ditentukan dalam tugas KubernetesManifest, tugas akan membuat beban kerja dasar dan canary yang replikanya sama dengan persentase replika yang digunakan untuk beban kerja yang stabil. Ini tidak sama persis dengan memisahkan lalu lintas hingga persentase yang diinginkan pada tingkat permintaan. Untuk mengatasi hal ini, kami telah menambahkan dukungan untuk penyebaran canary berbasis Antarmuka Jala Layanan ke tugas KubernetesManifest.

Abstraksi Antarmuka Jala Layanan memungkinkan konfigurasi plug-and-play dengan penyedia mesh layanan seperti Linkerd dan Istio. Sekarang tugas KubernetesManifest bekerja keras untuk memetakan objek TrafficSplit SMI ke layanan stabil, garis besar, dan canary selama siklus hidup strategi penyebaran. Persentase pemisahan lalu lintas yang diinginkan antara stabil, garis besar, dan canary lebih akurat karena persentase pemisahan lalu lintas dikontrol pada permintaan di bidang jala layanan.

Berikut ini adalah sampel proses penyebaran canary berbasis SMI secara berkelanjutan.

- deployment: Deployment
    displayName: Deployment
    pool:
      vmImage: $(vmImage)
    environment: ignite.smi
    strategy:
      canary:
        increments: [25, 50]
        preDeploy:
          steps:
          - task: KubernetesManifest@0
            displayName: Create/update secret
            inputs:
              action: createSecret
              namespace: smi
              secretName: $(secretName)
              dockerRegistryEndpoint: $(dockerRegistryServiceConnection)
        deploy:
          steps:
          - checkout: self
          - task: KubernetesManifest@0
            displayName: Deploy canary
            inputs:
              action: $(strategy.action)
              namespace: smi
              strategy: $(strategy.name)
              trafficSplitMethod: smi
              percentage: $(strategy.increment)
              baselineAndCanaryReplicas: 1
              manifests: |
                manifests/deployment.yml
                manifests/service.yml
              imagePullSecrets: $(secretName)
              containers: '$(containerRegistry)/$(imageRepository):$(Build.BuildId)'
        postRouteTraffic:
          pool: server
          steps:
            - task: Delay@1
              inputs:
                delayForMinutes: '2'

Tugas Penyalinan File Azure sekarang mendukung AzCopy V10

Tugas penyalinan file Azure dapat digunakan dalam alur kompilasi atau rilis untuk menyalin file ke blob penyimpanan Microsoft atau mesin virtual (VM). Tugas ini menggunakan AzCopy, kompilasi utilitas baris perintah untuk menyalin data dengan cepat dari dan ke akun penyimpanan Azure. Dengan pembaruan ini, kami telah menambahkan dukungan untuk AzCopy V10 yang merupakan versi terbaru AzCopy.

Perintah azcopy copy hanya mendukung argumen yang terkait dengannya. Karena perubahan sintaks AzCopy, beberapa kemampuan yang ada tidak tersedia di AzCopy V10. Ini termasuk:

  • Menentukan lokasi log
  • Membersihkan file log dan rencana setelah penyalinan
  • Lanjutkan penyalinan jika pekerjaan gagal

Kapabilitas tambahan yang didukung dalam versi tugas ini adalah:

  • Simbol wildcard dalam nama/jalur file sumber
  • Menyimpulkan jenis konten berdasarkan ekstensi file jika tidak ada argumen yang tersedia
  • Menentukan verbositas log untuk file log dengan meneruskan argumen

Meningkatkan keamanan alur dengan membatasi cakupan token akses

Setiap pekerjaan yang berjalan di Alur Azure mendapatkan token akses. Token akses digunakan oleh tugas dan skrip Anda untuk memanggil kembali ke Azure DevOps. Misalnya, kami menggunakan token akses untuk mendapatkan kode sumber, mengunggah log, hasil pengujian, artefak, atau untuk melakukan panggilan REST ke Azure DevOps. Token akses baru dibuat untuk setiap pekerjaan, dan akan kedaluwarsa setelah pekerjaan selesai. Dengan pembaruan ini, kami menambahkan penyempurnaan berikut.

  • Mencegah token mengakses sumber daya di luar proyek tim

    Hingga saat ini, cakupan default semua alur adalah koleksi proyek tim. Anda dapat mengubah cakupan menjadi proyek tim dalam alur kompilasi klasik. Namun, Anda tidak memiliki kontrol tersebut untuk rilis klasik atau alur YAML. Dengan pembaruan ini, kami memperkenalkan pengaturan koleksi untuk memaksa setiap pekerjaan mendapatkan token cakupan proyek apa pun yang dikonfigurasi dalam alur. Kami juga menambahkan pengaturan di tingkat proyek. Sekarang, setiap proyek dan koleksi baru yang Anda buat akan secara otomatis mengaktifkan pengaturan ini.

    Catatan

    Pengaturan koleksi mengambil alih pengaturan proyek.

    Mengaktifkan pengaturan ini di proyek dan koleksi yang ada dapat menyebabkan alur tertentu gagal jika alur Anda mengakses sumber daya yang berada di luar proyek tim dengan menggunakan token akses. Untuk mengurangi kegagalan alur, Anda dapat secara eksplisit memberikan akses Akun Layanan Kompilasi Proyek ke sumber daya yang diinginkan. Kami sangat menyarankan agar Anda mengaktifkan pengaturan keamanan ini.

  • Membatasi akses cakupan repositori layanan kompilasi

    Melalui kompilasi untuk meningkatkan keamanan alur dengan membatasi cakupan token akses, Azure Pipelines sekarang dapat membatasi akses repositorinya hanya ke repositori yang diperlukan oleh alur berbasis YAML. Artinya, jika token akses alur bocor, yang terlihat hanyalah repositori yang digunakan dalam alur. Sebelumnya, token akses baik untuk repositori Azure Repos apa pun dalam proyek, atau bisa jadi seluruh koleksi.

    Fitur ini akan diaktifkan secara default untuk proyek dan koleksi baru. Untuk koleksi yang sudah ada, Anda harus mengaktifkannya di Pengaturan Koleksi>Pengaturan>Alur. Saat menggunakan fitur ini, semua repositori yang diperlukan oleh kompilasi (bahkan yang Anda kloning menggunakan skrip) harus disertakan dalam sumber daya repositori alur.

  • Menghapus izin tertentu untuk token akses

    Secara default, kami memberikan sejumlah izin ke token akses, salah satu izin ini adalah Kompilasi antrean. Dengan pembaruan ini, kami menghapus izin ini ke token akses. Jika alur Anda memerlukan izin ini, Anda dapat secara eksplisit memberikannya ke Akun Layanan Kompilasi Proyek atau Akun Layanan Kompilasi Koleksi Proyek tergantung pada token yang Anda gunakan.

Keamanan tingkat proyek untuk koneksi layanan

Kami menambahkan keamanan tingkat hub untuk koneksi layanan. Sekarang, Anda dapat menambahkan/menghapus pengguna, menetapkan peran, dan mengelola akses di tempat terpusat untuk semua koneksi layanan.

Cuplikan layar halaman Koneksi layanan dengan opsi Keamanan dipanggil.

Penargetan langkah dan isolasi perintah

Azure Pipelines mendukung menjalankan pekerjaan baik dalam kontainer atau di host agen. Sebelumnya, seluruh pekerjaan ditetapkan ke salah satu dari dua target tersebut. Sekarang, langkah individual (tugas atau skrip) dapat berjalan pada target yang Anda pilih. Langkah-langkah juga dapat menargetkan kontainer lain, sehingga alur dapat menjalankan setiap langkah dalam kontainer khusus yang dibuat khusus.

Kontainer dapat bertindak sebagai batas isolasi, yang mencegah kode membuat perubahan tak terduga pada komputer host. Cara langkah-langkah berkomunikasi dengan dan mengakses layanan dari agen tidak terpengaruh dengan mengisolasi langkah-langkah dalam kontainer. Oleh karena itu, kami juga memperkenalkan mode pembatasan perintah yang dapat Anda gunakan dengan target langkah. Mengaktifkan ini akan membatasi layanan yang dapat diminta oleh suatu langkah dari agen. Langkah tersebut tidak akan lagi dapat memasang log, mengunggah artefak, dan operasi tertentu lainnya.

Berikut adalah contoh komprehensif, yang memperlihatkan langkah-langkah yang berjalan pada host dalam kontainer pekerjaan, dan di kontainer lain:

resources:
  containers:
  - container: python
    image: python:3.8
  - container: node
    image: node:13.2

jobs:
- job: example
  container: python

  steps:
  - script: echo Running in the job container

  - script: echo Running on the host
    target: host

  - script: echo Running in another container, in restricted commands mode
    target:
      container: node
      commands: restricted

Variabel baca-saja

Variabel sistem didokumentasikan dengan status tidak dapat diubah, tetapi dalam praktiknya variabel tersebut dapat ditimpa oleh tugas dan tugas hilir akan mengambil nilai baru. Dengan pembaruan ini, kami memperketat keamanan di sekitar variabel alur untuk membuat variabel sistem dan waktu antrean berstatus baca-saja. Selain itu, Anda dapat membuat variabel YAML baca-saja dengan menandainya sebagai berikut.

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

Akses berbasis peran untuk koneksi layanan

Kami telah menambahkan akses berbasis peran untuk koneksi layanan. Sebelumnya, keamanan koneksi layanan hanya dapat dikelola melalui grup Azure DevOps yang telah ditentukan sebelumnya seperti Administrator titik akhir dan Pembuat Titik Akhir.

Sebagai bagian dari pekerjaan ini, kami telah memperkenalkan peran baru Pembaca, Pengguna, Pembuat, dan Administrator. Anda dapat mengatur peran ini melalui halaman koneksi layanan di proyek Anda dan ini diwarisi oleh koneksi individual. Dan di setiap koneksi layanan, Anda memiliki opsi untuk mengaktifkan atau menonaktifkan pewarisan dan mengambil alih peran dalam cakupan koneksi layanan.

Cuplikan layar yang memperlihatkan akses berbasis peran untuk koneksi layanan.

Pelajari selengkapnya tentang keamanan koneksi layanan di sini.

Berbagi koneksi layanan lintas proyek

Kami mengaktifkan dukungan untuk berbagi koneksi layanan di seluruh proyek. Anda sekarang dapat berbagi koneksi layanan dengan proyek Anda secara aman dan terlindungi.

Cuplikan layar yang memperlihatkan berbagi koneksi layanan lintas proyek.

Pelajari selengkapnya tentang berbagi koneksi layanan di sini.

Keterlacakan untuk alur dan sumber daya ACR

Kami memastikan keterlacakan E2E penuh saat alur dan sumber daya kontainer ACR digunakan dalam alur. Untuk setiap sumber daya yang digunakan oleh alur YAML Anda, Anda dapat melacak kembali ke penerapan, item kerja, dan artefak.

Dalam tampilan ringkasan eksekusi alur, Anda bisa melihat:

  • Versi sumber daya yang memicu eksekusi. Sekarang, alur Anda dapat dipicu setelah menyelesaikan eksekusi alur Azure lain atau ketika gambar kontainer didorong ke ACR.

    Cuplikan layar memperlihatkan bahwa alur secara otomatis dipicu.

  • Penerapan yang dikonsumsi oleh alur. Anda juga dapat menemukan perincian penerapan oleh setiap sumber daya yang digunakan oleh alur.

    Cuplikan layar memperlihatkan penerapan di bagian Alur saat ini.

  • Item kerja yang terkait dengan setiap sumber daya yang digunakan oleh alur.

  • Artefak yang tersedia untuk digunakan oleh eksekusi.

    Cuplikan layar memperlihatkan halaman Artefak untuk alur.

Dalam tampilan penyebaran lingkungan, Anda dapat melihat penerapan dan item kerja untuk setiap sumber daya yang disebarkan ke lingkungan.

Cuplikan layar bagian Penyebaran menurut memperlihatkan tab Workitems.

Dukungan untuk pemasangan pengujian besar

Dengan tugas terbitkan hasil pengujian di Alur Azure, Anda dapat menerbitkan hasil pengujian saat pengujian dijalankan untuk memberikan pengalaman pelaporan dan analitik pengujian yang komprehensif. Hingga saat ini, ada batas 100MB pada pemasangan pengujian untuk eksekusi pengujian dan hasilnya. Ini membatasi pengunggahan file besar seperti crash dump atau video. Dengan pembaruan ini, kami menambahkan dukungan pemasangan pengujian besar sehingga semua data yang tersedia dapat Anda gunakan untuk memecahkan masalah pengujian yang gagal.

Anda mungkin melihat tugas VSTest atau tugas Terbitkan hasil pengujian yang mengembalikan kesalahan 403 atau 407 dalam log. Jika Anda menggunakan kompilasi yang dihost sendiri atau merilis agen di belakang firewall yang memfilter permintaan keluar, Anda harus membuat beberapa perubahan konfigurasi untuk dapat menggunakan fungsionalitas ini. ​

Cuplikan layar memperlihatkan kesalahan 403 yang dikembalikan dalam log.

Untuk memperbaiki masalah ini, Anda sebaiknya memperbarui firewall untuk permintaan keluar ke https://*.vstmrblob.vsassets.io. Anda dapat menemukan informasi pemecahan masalah dalam dokumentasi di sini. ​

Catatan

Ini hanya diperlukan jika Anda menggunakan agen Alur Azure yang dihost sendiri dan Anda berada di belakang firewall yang memfilter lalu lintas keluar. Jika Anda menggunakan agen yang dihosting Microsoft di cloud atau yang tidak memfilter lalu lintas jaringan keluar, Anda tidak perlu mengambil tindakan apa pun.​

Tampilkan informasi kumpulan yang benar pada setiap pekerjaan

Sebelumnya, ketika Anda menggunakan matriks untuk memperluas pekerjaan atau variabel untuk mengidentifikasi kumpulan, kami terkadang menyelesaikan informasi kumpulan yang salah di halaman log. Masalah-masalah ini telah diselesaikan.

Pemicu CI untuk cabang baru

Tidak memicu kompilasi CI saat cabang baru dibuat dan cabang itu tidak mengalami perubahan adalah permintaan yang sudah lama tertunda. Pertimbangkan contoh berikut:

  • Anda menggunakan antarmuka web untuk membuat cabang baru berdasarkan cabang yang ada. Hal ini akan segera memicu kompilasi CI baru jika filter cabang Anda cocok dengan nama cabang baru. Hal ini tidak diinginkan karena konten cabang baru sama jika dibandingkan dengan cabang yang ada.
  • Anda memiliki repositori dengan dua folder - aplikasi dan dokumen. Anda menyiapkan filter jalur untuk CI agar sesuai dengan "aplikasi". Dengan kata lain, Anda tidak ingin membuat kompilasi baru jika perubahan telah didorong ke dokumen. Anda membuat cabang baru secara lokal, membuat beberapa perubahan pada dokumen, lalu mendorong cabang tersebut ke server. Sebelumnya, kami memicu kompilasi CI baru. Hal ini tidak diinginkan karena Anda secara eksplisit meminta untuk tidak mencari perubahan dalam folder dokumen. Namun, karena cara kami menangani peristiwa cabang baru, sepertinya perubahan juga telah dilakukan pada folder aplikasi.

Sekarang, kami memiliki cara yang lebih baik dalam menangani CI cabang baru untuk mengatasi masalah ini. Saat Anda menerbitkan cabang baru, kami secara eksplisit mencari penerapan baru di cabang tersebut, dan memeriksa apakah mereka cocok dengan filter jalur.

Pekerjaan dapat mengakses variabel output dari tahap sebelumnya

Variabel output sekarang dapat digunakan di seluruh tahap dalam alur berbasis YAML. Ini membantu Anda meneruskan informasi yang berguna, seperti keputusan go/no-go atau ID output yang dihasilkan, dari satu tahap ke tahap berikutnya. Hasil (status) dari tahap sebelumnya dan pekerjaannya juga tersedia.

Variabel output masih diproduksi oleh langkah-langkah di dalam pekerjaan. Alih-alih mengacu pada dependencies.jobName.outputs['stepName.variableName'], tahapan mengacu pada stageDependencies.stageName.jobName.outputs['stepName.variableName'].

Catatan

Secara default, setiap tahapan dalam alur bergantung pada satu tahapan tepat sebelum tahapan tersebut di file YAML. Oleh karenanya, setiap tahap dapat menggunakan variabel output dari tahap sebelumnya. Anda dapat mengubah grafik dependensi, yang juga akan mengubah variabel output mana yang tersedia. Misalnya, jika membutuhkan variabel dari tahap 1, tahap 3 perlu menyatakan dependensi eksplisit pada tahap 1.

Menonaktifkan peningkatan agen otomatis pada tingkat kumpulan

Saat ini, agen alur akan secara otomatis melakukan pembaruan ke versi terbaru jika diperlukan. Ini biasanya terjadi ketika ada fitur atau tugas baru yang memerlukan versi agen yang lebih baru agar berfungsi dengan benar. Dengan pembaruan ini, kami menambahkan kemampuan untuk menonaktifkan peningkatan otomatis pada tingkat kumpulan. Dalam mode ini, jika tidak ada agen versi yang benar yang terhubung ke kumpulan, alur akan gagal dengan pesan kesalahan yang jelas alih-alih meminta agen untuk memperbarui. Fitur ini sebagian besar menarik bagi pelanggan dengan kumpulan yang dihost sendiri dan persyaratan kontrol perubahan yang sangat ketat. Pembaruan otomatis diaktifkan secara default, dan sebagian besar pelanggan sebaiknya tidak menonaktifkannya.

Cuplikan layar halaman Pengaturan Default dengan opsi Pengaturan pembaruan agen diaktifkan dan dipanggil.

Diagnostik agen

Kami telah menambahkan diagnostik untuk banyak masalah umum terkait agen, seperti banyaknya masalah jaringan dan penyebab umum kegagalan peningkatan. Untuk memulai diagnostik, gunakan run.sh --diagnostics atau run.cmd --diagnostics pada Windows.

Kait layanan untuk alur YAML

Mengintegrasikan layanan dengan alur YAML menjadi lebih mudah. Dengan menggunakan peristiwa kait layanan untuk alur YAML, Anda sekarang dapat mendorong aktivitas di aplikasi atau layanan kustom berdasarkan kemajuan eksekusi alur. Misalnya, Anda dapat membuat tiket helpdesk saat persetujuan diperlukan, memulai alur kerja pemantauan setelah tahap selesai atau mengirim pemberitahuan push ke perangkat seluler tim Anda saat suatu tahap mengalami kegagalan.

Pemfilteran pada nama alur dan nama tahap didukung untuk semua peristiwa. Peristiwa persetujuan juga dapat difilter untuk lingkungan tertentu. Demikian pula, peristiwa perubahan status dapat difilter berdasarkan status baru pada eksekusi alur atau tahapannya.

Cuplikan layar wizard LANGGANAN HOOKS LAYANAN BARU memperlihatkan Pemicu pada jenis daftar dropdown peristiwa ini dengan opsi Jalankan tahap yang dipanggil.

Integrasi secara optimal

Optimizely adalah platform pengujian A/B dan penandaan fitur yang kuat untuk tim produk. Integrasi Azure Pipelines dengan platform eksperimen Optimizely memberdayakan tim produk untuk menguji, mempelajari, dan melakukan penyebaran dengan laju yang dipercepat, sambil mendapatkan semua manfaat DevOps dari Azure Pipelines.

Ekstensi Optimizely untuk Azure DevOps menambahkan eksperimen dan langkah-langkah peluncuran bendera fitur ke alur kompilasi dan rilis, sehingga Anda dapat terus melakukan iterasi, meluncurkan fitur, dan mengembalikannya menggunakan Alur Azure.

Pelajari selengkapnya tentang ekstensi Azure DevOps Optimizely di sini.

Eksperimen Optimizely

Menambahkan rilis GitHub sebagai sumber artefak

Sekarang Anda dapat menautkan rilis GitHub sebagai sumber artefak di alur rilis Azure DevOps. Dengan ini, Anda dapat menggunakan rilis GitHub sebagai bagian dari penyebaran Anda.

Saat Anda mengeklik Tambahkan artefak dalam definisi alur rilis, Anda akan menemukan jenis sumber Rilis GitHub baru. Anda dapat menyediakan koneksi layanan dan repositori GitHub untuk menggunakan rilis GitHub. Anda juga dapat memilih versi default untuk rilis GitHub dan menggunakannya sebagai versi tag terbaru serta spesifik, atau memilihnya saat pembuatan rilis. Setelah ditautkan, rilis GitHub tersebut secara otomatis diunduh dan tersedia dalam pekerjaan rilis Anda.

Cuplikan layar kotak dialog Tambahkan artefak dengan opsi Rilis GitHub dipilih dan dipanggil.

Integrasi Terraform dengan Alur Azure

Terraform adalah alat sumber terbuka untuk mengembangkan, mengubah, dan membuat versi infrastruktur dengan aman dan efisien. Terraform mengodifikasikan API ke dalam file konfigurasi deklaratif sehingga Anda dapat menentukan dan menyediakan infrastruktur dengan menggunakan bahasa konfigurasi tingkat tinggi. Anda dapat menggunakan ekstensi Terraform untuk membuat sumber daya di seluruh penyedia infrastruktur utama: Azure, Amazon Web Services (AWS) dan Google Cloud Platform (GCP).

Untuk mempelajari selengkapnya tentang ekstensi Terraform, lihat dokumentasi di sini.

Cuplikan layar integrasi Terraform dengan Azure Pipelines.

Integrasi dengan Google Analytics

Kerangka kerja eksperimen Google Analytics memungkinkan Anda menguji hampir semua perubahan atau variasi ke situs web atau aplikasi untuk mengukur dampaknya pada tujuan tertentu. Misalnya, mungkin ada aktivitas yang menurut Anda perlu diselesaikan oleh pengguna (misalnya, melakukan pembelian, mendaftar untuk buletin) dan/atau metrik yang ingin Anda tingkatkan (misalnya, pendapatan, durasi sesi, tingkat pantulan). Dengan aktivitas ini, Anda dapat mengidentifikasi perubahan yang layak diterapkan berdasarkan dampak langsung yang mereka miliki pada performa fitur Anda.

Ekstensi eksperimen Google Analytics untuk Azure DevOps menambahkan langkah-langkah eksperimen ke alur build dan rilis, sehingga Anda dapat terus mengulangi, mempelajari, dan melakukan penyebaran pada laju yang dipercepat dengan mengelola eksperimen secara berkelanjutan sekaligus mendapatkan semua manfaat DevOps dari Azure Pipelines.

Anda dapat mengunduh ekstensi eksperimen Google Analytics dari Marketplace.

Cuplikan layar memperlihatkan tugas Eksperimen Google Analytics.

Integrasi ServiceNow yang diperbarui dengan Alur Azure

Aplikasi Alur Azure untuk ServiceNow membantu Anda mengintegrasikan Manajemen Perubahan Alur Azure dan ServiceNow. Dengan pembaruan ini, Anda dapat berintegrasi dengan ServiceNow versi New York. Autentikasi antara kedua layanan sekarang dapat dilakukan dengan menggunakan OAuth dan autentikasi dasar. Selain itu, Anda sekarang dapat mengonfigurasi kriteria keberhasilan tingkat lanjut sehingga Anda dapat menggunakan properti perubahan apa pun untuk memutuskan hasil gerbang.

Membuat Alur Azure dari VSCode

Kami telah menambahkan fungsionalitas baru ke ekstensi Alur Azure untuk VSCode. Sekarang, Anda akan dapat membuat Alur Azure langsung dari VSCode tanpa meninggalkan IDE.

Cuplikan layar Visual Studio Code dengan pemberitahuan di sudut kanan bawah yang mengatakan: Alur Anda telah berhasil disiapkan.

Manajemen dan resolusi bug kegagalan

Kami memperkenalkan manajemen pengujian kegagalan untuk mendukung siklus hidup end-to-end dengan deteksi, pelaporan, dan resolusi. Untuk meningkatkannya lebih lanjut, kami menambahkan manajemen dan resolusi bug uji kegagalan.

Saat menyelidiki uji kegagalan, Anda dapat membuat bug dengan menggunakan tindakan Bug yang kemudian dapat ditetapkan kepada pengembang untuk menyelidiki akar penyebab uji kegagalan lebih lanjut. Laporan bug mencakup informasi tentang alur seperti pesan kesalahan, jejak tumpukan, dan informasi lain yang terkait dengan pengujian.

Setelah laporan bug diselesaikan atau ditutup, kami akan secara otomatis menghapus tanda pengujian dengan status tidak gagal.

Atur tugas VSTest ke gagal jika jumlah minimum pengujian tidak dijalankan

Tugas VSTest menemukan dan menjalankan pengujian dengan menggunakan input pengguna (file pengujian, kriteria filter, dan sebagainya) serta adaptor pengujian khusus untuk kerangka kerja pengujian yang digunakan. Perubahan pada input pengguna atau adapter pengujian dapat menyebabkan pengujian tidak ditemukan dan hanya subset dari pengujian yang diharapkan yang dijalankan. Sehingga masalahnya adalah alur bisa berhasil karena pengujian dilompati dan bukan karena kodenya memiliki kualitas yang cukup tinggi. Untuk membantu menghindari situasi ini, kami telah menambahkan opsi baru dalam tugas VSTest sehingga Anda dapat menentukan jumlah minimum pengujian yang harus dijalankan agar tugas tersebut bisa lulus.

Cuplikan layar memperlihatkan opsi Gagalkan tugas jika jumlah minimum pengujian tidak dijalankan.

Opsi VSTest TestResultsDirectory tersedia di UI tugas

Tugas VSTest menyimpan hasil pengujian dan file terkait di folder $(Agent.TempDirectory)\TestResults. Kami telah menambahkan opsi ke UI tugas agar Anda dapat mengonfigurasi folder lain dan menyimpan hasil pengujian. Sekarang setiap tugas berikutnya yang membutuhkan file di lokasi tertentu dapat menggunakannya.

Cuplikan layar memperlihatkan kotak teks Folder hasil pengujian.

Dukungan markdown dalam pesan kesalahan pengujian otomatis

Kami telah menambahkan dukungan markdown ke pesan kesalahan untuk pengujian otomatis. Sekarang Anda dapat dengan mudah memformat pesan kesalahan untuk uji coba dan hasil pengujian guna meningkatkan keterbacaan dan memudahkan pengalaman pemecahan masalah kegagalan pengujian di Alur Azure. Sintaks markdown yang didukung dapat ditemukan di sini.

Cuplikan layar memperlihatkan dukungan markdown dalam pesan kesalahan pengujian otomatis.

Menggunakan dekorator alur untuk menyuntikkan langkah-langkah secara otomatis dalam pekerjaan penyebaran

Anda sekarang dapat menambahkan dekorator alur ke pekerjaan penyebaran. Anda dapat memiliki langkah kustom apa pun (misalnya pemindai kerentanan) yang disuntikkan secara otomatis ke setiap eksekusi kait siklus hidup dari setiap pekerjaan penyebaran. Karena dekorator alur dapat diterapkan ke semua alur dalam koleksi, hal ini dapat dimanfaatkan sebagai bagian dari menegakkan praktik penyebaran yang aman.

Selain itu, pekerjaan penyebaran dapat dijalankan sebagai pekerjaan kontainer bersama dengan layanan side-car jika ditentukan.

Test Plans

Halaman Dokumen Pengujian Baru

Halaman Dokumen Pengujian baru (Dokumen Pengujian *) tersedia untuk semua koleksi Azure DevOps. Halaman baru menyediakan tampilan yang disederhanakan untuk membantu Anda fokus pada tugas yang ada - pembuatan dokumen pengujian, penulisan, atau eksekusi. Halaman ini juga bebas kekacauan dan konsisten dengan sisa penawaran Azure DevOps.

Cuplikan layar memperlihatkan dua paket pengujian bernama identik yang berbagi penyimpanan backend.

Bantu saya memahami halaman baru

halaman gambaran umum rencana pengujian

Halaman Paket Pengujian baru memiliki total 6 bagian di mana 4 bagian pertama baru, sementara bagian Bagan & Ekstensibilitas adalah fungsionalitas yang ada.

  1. Header dokumen pengujian: Gunakan ini untuk menemukan, memfavoritkan, mengedit, menyalin, atau mengkloning dokumen pengujian.
  2. Pohon rangkaian pengujian: Gunakan ini untuk menambahkan, mengelola, mengekspor, atau mengurutkan rangkaian pengujian. Manfaatkan ini juga untuk menetapkan konfigurasi dan melakukan pengujian penerimaan pengguna.
  3. Tab tentukan: Susun, tambahkan, dan kelola kasus pengujian dalam rangkaian pengujian pilihan melalui tab ini.
  4. Tab jalankan: Tetapkan dan jalankan pengujian melalui tab ini atau temukan hasil pengujian yang akan ditelusuri.
  5. Tab Bagan: Lacak eksekusi dan status pengujian melalui bagan yang juga dapat disematkan ke dasbor.
  6. Ekstensibilitas: Dukung titik ekstensibilitas saat ini dalam produk.

Mari kita lihat garis besar bagian baru di bawah ini.

1. Header dokumen pengujian

halaman header rencana pengujian

Tugas

Header Dokumen Pengujian memungkinkan Anda melakukan tugas-tugas berikut:

  • Menandai dokumen pengujian sebagai favorit
  • Batal tandai dokumen pengujian favorit
  • Arahkan navigasi dengan mudah di antara dokumen pengujian favorit Anda
  • Lihat jalur iterasi dokumen pengujian, yang dengan jelas menunjukkan apakah dokumen pengujian adalah Saat Ini atau Sebelumnya
  • Menampilkan ringkasan cepat laporan Kemajuan Pengujian dengan tautan untuk bernavigasi ke laporan
  • Navigasi kembali ke halaman Dokumen Pengujian All/Mine

Opsi menu konteks

Menu konteks pada header Dokumen Pengujian menyediakan opsi berikut:

  • Salin dokumen pengujian: Ini adalah opsi baru yang memungkinkan Anda menyalin dokumen pengujian saat ini dengan cepat. Lihat lebih detail di bawah ini.
  • Edit dokumen pengujian: Opsi ini memungkinkan Anda mengedit formulir item kerja Dokumen Pengujian untuk mengelola bidang item kerja.
  • Pengaturan dokumen pengujian: Opsi ini memungkinkan Anda mengonfigurasi pengaturan Uji Coba (untuk mengaitkan alur kompilasi atau rilis) dan pengaturan Hasil Pengujian

Menyalin dokumen pengujian (kemampuan baru)

halaman rencana uji salin

Sebaiknya buat Dokumen Pengujian baru per sprint/rilis. Saat melakukannya, umumnya Dokumen Pengujian untuk siklus sebelumnya dapat disalin dan, dengan beberapa perubahan, dokumen pengujian yang disalin siap untuk siklus baru. Untuk mempermudah proses ini, kami telah mengaktifkan kemampuan 'Salin dokumen pengujian' di halaman baru. Dengan memanfaatkannya, Anda dapat menyalin atau mengkloning dokumen pengujian. REST API yang mendukungnya tercakup di sini dan API memungkinkan Anda menyalin/mengkloning dokumen pengujian di seluruh proyek juga.
Untuk panduan selengkapnya tentang penggunaan Dokumen Pengujian, lihat di sini.

2. Pohon rangkaian pengujian

halaman pohon rangkaian pengujian

Tugas

Header rangkaian Pengujian memungkinkan Anda melakukan tugas-tugas berikut:

  • Perluas/ciutkan: Opsi toolbar ini memungkinkan Anda memperluas atau menciutkan pohon hierarki rangkaian.
  • Tampilkan titik pengujian dari rangkaian turunan: Opsi toolbar ini hanya terlihat saat Anda berada di tab "Jalankan". Dengan ini, Anda dapat melihat semua titik pengujian untuk rangkaian tertentu dan turunannya dalam satu tampilan untuk pengelolaan titik pengujian yang lebih mudah tanpa harus bernavigasi ke rangkaian individual satu per satu.
  • Rangkaian urutan: Anda dapat menarik/meletakkan rangkaian untuk menyusun ulang hierarki rangkaian atau memindahkannya dari satu hierarki rangkaian ke rangkaian lainnya dalam dokumen pengujian.

Opsi menu konteks

Menu konteks pada pohon rangkaian Pengujian menyediakan opsi berikut:

  • Buat rangkaian baru: Anda dapat membuat 3 jenis rangkaian berbeda sebagai berikut:
    • Gunakan rangkaian statis atau rangkaian folder untuk mengatur pengujian Anda.
    • Gunakan rangkaian berbasis persyaratan untuk langsung membuat tautan ke persyaratan/cerita pengguna agar keterlacakan bekerja dengan lancar.
    • Gunakan basis kueri untuk secara dinamis mengatur kasus pengujian yang memenuhi kriteria kueri.
  • Tetapkan konfigurasi: Anda dapat menetapkan konfigurasi untuk rangkaian (misalnya: Chrome, Firefox, EdgeChromium) dan ini kemudian akan berlaku untuk semua kasus pengujian yang ada atau kasus pengujian baru yang Anda tambahkan nanti ke rangkaian ini.
  • Ekspor sebagai pdf/email: Ekspor properti Dokumen pengujian, properti rangkaian pengujian bersama dengan detail kasus pengujian dan titik pengujian sebagai "email" atau "cetak ke pdf".
  • Buka item kerja rangkaian pengujian: Dengan opsi ini, Anda dapat mengedit formulir Item kerja rangkaian pengujian untuk mengelola bidang item kerja.
  • Tetapkan penguji untuk menjalankan semua pengujian: Opsi ini sangat berguna untuk skenario pengujian Penerimaan Pengguna (UAT) dan di sini pengujian yang sama perlu dijalankan/dieksekusi oleh beberapa penguji, umumnya milik departemen yang berbeda.
  • Ganti Nama/Hapus: Dengan opsi ini, Anda dapat mengelola nama rangkaian atau menghapus rangkaian dan kontennya dari dokumen pengujian.

3. Tab tentukan

tentukan halaman tab

Dengan Tab tentukan, Anda dapat menyusun, menambahkan, dan mengelola kasus pengujian untuk rangkaian pengujian. Sedangkan tab eksekusi adalah untuk menetapkan titik pengujian dan menjalankannya.

Tab Tentukan dan operasi tertentu hanya tersedia untuk pengguna dengan tingkat akses Dokumen Dasar + Pengujian atau yang setara. Segala sesuatu yang lain harus dapat diolah oleh pengguna dengan tingkat akses 'Dasar'.

Tugas

Tab Tentukan memungkinkan Anda melakukan tugas berikut:

  • Tambahkan Kasus pengujian baru dengan menggunakan formulir item kerja: Opsi ini memungkinkan Anda membuat kasus pengujian baru dengan menggunakan formulir item kerja. Kasus pengujian yang dibuat akan secara otomatis ditambahkan ke rangkaian.
  • Tambahkan Kasus pengujian baru menggunakan kisi: Opsi ini memungkinkan Anda membuat satu atau beberapa kasus pengujian dengan menggunakan tampilan kisi kasus pengujian. Kasus pengujian yang dibuat akan secara otomatis ditambahkan ke rangkaian.
  • Menambahkan kasus pengujian yang ada menggunakan kueri: Opsi ini memungkinkan Anda menambahkan kasus pengujian yang ada ke rangkaian dengan menentukan kueri.
  • Kasus pengujian urutan dengan menarik/meletakkan: Anda dapat menyusun ulang kasus pengujian dengan menarik/meletakkan satu atau beberapa kasus pengujian dalam rangkaian tertentu. Urutan kasus pengujian hanya berlaku untuk kasus pengujian manual dan bukan untuk pengujian otomatis.
  • Memindahkan kasus pengujian dari satu rangkaian ke rangkaian lainnya: Dengan tarik/letakkan, Anda dapat memindahkan kasus pengujian dari satu rangkaian pengujian ke yang lain.
  • Tampilkan kisi: Anda dapat menggunakan mode kisi untuk melihat/mengedit kasus pengujian bersama dengan langkah-langkah pengujian.
  • Tampilan layar penuh: Anda dapat melihat konten seluruh tab Tentukan dalam mode layar penuh dengan menggunakan opsi ini.
  • Pemfilteran: Menggunakan bilah filter, Anda dapat memfilter daftar kasus pengujian menggunakan bidang "judul kasus pengujian", "ditetapkan ke" dan "status". Anda juga bisa mengurutkan daftarnya dengan mengeklik header kolom.
  • Opsi kolom: Anda dapat mengelola daftar kolom yang terlihat di tab Tentukan dengan menggunakan "Opsi kolom". Daftar kolom yang tersedia untuk pemilihan terutama merupakan bidang dari formulir item kerja kasus pengujian.

Opsi menu konteks

tentukan halaman menu konteks tab

Menu konteks pada simpul Kasus pengujian dalam tab Tentukan menyediakan opsi berikut:

  • Buka/edit formulir item kerja kasus pengujian: Dengan opsi ini, Anda dapat mengedit kasus Pengujian dengan menggunakan formulir item kerja tempat Anda mengedit bidang item kerja termasuk langkah-langkah pengujian.
  • Edit kasus pengujian: Opsi ini memungkinkan Anda mengedit bidang item kerja kasus Pengujian secara massal. Namun, Anda tidak dapat menggunakan opsi ini untuk mengedit langkah-langkah pengujian secara massal.
  • Edit kasus pengujian dalam kisi: Opsi ini memungkinkan Anda mengedit kasus pengujian yang dipilih secara massal termasuk langkah-langkah pengujian dengan menggunakan tampilan kisi.
  • Tetapkan konfigurasi: Opsi ini memungkinkan Anda untuk mengambil alih konfigurasi tingkat rangkaian dengan konfigurasi tingkat kasus pengujian.
  • Hapus kasus pengujian: Opsi ini memungkinkan Anda menghapus kasus pengujian dari rangkaian yang diberikan. Ini tidak mengubah item kerja kasus pengujian yang mendasar.
  • Membuat salinan/klon kasus pengujian: Opsi ini memungkinkan Anda membuat salinan/klon kasus pengujian yang dipilih. Baca di bawah ini untuk detail selengkapnya.
  • Menampilkan item tertaut: Opsi ini memungkinkan Anda melihat item tertaut untuk kasus pengujian tertentu. Baca di bawah ini untuk detail selengkapnya.

Menyalin/mengkloning kasus pengujian (kemampuan baru)

tentukan halaman kasus pengujian salinan tab

Untuk skenario ketika Anda ingin menyalin/mengkloning kasus pengujian, Anda dapat menggunakan opsi "Salin kasus pengujian". Anda dapat menentukan proyek tujuan, dokumen pengujian tujuan, dan rangkaian pengujian tujuan untuk membuat kasus pengujian salin/kloning. Selain itu, Anda juga dapat menentukan apakah Anda ingin menyertakan tautan/pemasangan yang ada, yang akan dialirkan ke salinan kloning.

Menampilkan item tertaut (kapabilitas baru)

tentukan halaman item tertaut tampilan tab

Keterlacakan di antara artefak pengujian, persyaratan, dan bug adalah proposisi nilai penting dari produk Dokumen Pengujian. Dengan menggunakan opsi "Lihat item tertaut", Anda dapat dengan mudah melihat semua Persyaratan tertaut yang ditautkan dengan kasus pengujian ini, semua rangkaian Pengujian/dokumen Pengujian jika kasus pengujian ini telah digunakan dan semua bug yang telah diajukan sebagai bagian dari eksekusi pengujian.

4. Jalankan tab

halaman tab jalankan

Dengan Tab tentukan, Anda dapat menyusun, menambahkan, dan mengelola kasus pengujian untuk rangkaian pengujian. Sedangkan tab eksekusi adalah untuk menetapkan titik pengujian dan menjalankannya.

Apa itu titik pengujian? Kasus pengujian sendiri tidak dapat dieksekusi. Saat Anda menambahkan kasus pengujian ke rangkaian pengujian, maka titik pengujian dihasilkan. Titik pengujian adalah kombinasi unik dari kasus pengujian, rangkaian pengujian, konfigurasi, dan penguji. Contoh: jika Anda memiliki kasus pengujian sebagai "Fungsionalitas uji masuk" dan Anda menambahkan 2 konfigurasi ke dalamnya sebagai Edge dan Chrome maka ini menghasilkan 2 titik pengujian. Sekarang, titik pengujian ini dapat dijalankan. Pada eksekusi, hasil pengujian dihasilkan. Melalui tampilan hasil pengujian (riwayat eksekusi) Anda dapat melihat semua eksekusi titik pengujian. Eksekusi terbaru untuk titik pengujian adalah hal yang Anda lihat di tab eksekusi.
Oleh karenanya, kasus pengujian adalah entitas yang dapat digunakan kembali. Dengan menyertakannya dalam dokumen pengujian atau rangkaian, titik pengujian dihasilkan. Dengan menjalankan titik pengujian, Anda menentukan kualitas produk atau layanan yang dikembangkan.

Salah satu manfaat utama halaman baru adalah bahwa, untuk pengguna yang terutama melakukan eksekusi/pelacakan pengujian (hanya perlu memiliki tingkat akses 'Dasar'), mereka tidak kewalahan oleh kompleksitas manajemen rangkaian (tab definisi disembunyikan untuk pengguna tersebut).

Tab Tentukan dan operasi tertentu hanya tersedia untuk pengguna dengan tingkat akses Dokumen Dasar + Pengujian atau yang setara. Segala sesuatu yang lain, termasuk tab "Jalankan" harus dapat digunakan oleh pengguna dengan tingkat akses 'Dasar'.

Tugas

Tab Jalankan memungkinkan Anda melakukan tugas berikut:

  • Titik pengujian tanda massal: Opsi ini memungkinkan Anda untuk dengan cepat menandai hasil titik pengujian - lulus, gagal, diblokir, atau tidak berlaku, tanpa harus menjalankan kasus pengujian melalui alat eksekusi Pengujian. Hasilnya dapat ditandai untuk satu atau beberapa titik pengujian sekali jalan.
  • Jalankan titik pengujian: Opsi ini memungkinkan Anda menjalankan kasus pengujian dengan mengikuti setiap langkah pengujian dan menandainya lulus/gagal secara individual, menggunakan alat eksekusi Pengujian. Bergantung pada aplikasi yang Anda uji, Anda dapat menggunakan "Web Runner" untuk menguji "aplikasi web" atau "desktop runner" untuk menguji aplikasi desktop dan/atau web. Anda juga dapat memanggil "Jalankan dengan opsi" untuk menentukan Kompilasi yang ingin Anda lakukan pengujiannya.
  • Opsi kolom: Anda dapat mengelola daftar kolom yang terlihat di tab Jalankan dengan menggunakan "Opsi kolom". Daftar kolom yang tersedia untuk seleksi dikaitkan dengan titik pengujian, seperti Jalankan oleh, Penguji yang Ditetapkan, Konfigurasi, dll.
  • Tampilan layar penuh: Anda dapat melihat konten seluruh tab Jalankan dalam mode layar penuh dengan menggunakan opsi ini.
  • Pemfilteran: Menggunakan bilah filter, Anda dapat memfilter daftar titik pengujian menggunakan bidang "judul kasus pengujian", "ditetapkan ke", "status", "hasil pengujian", "Penguji" dan "Konfigurasi". Anda juga bisa mengurutkan daftarnya dengan mengeklik header kolom.

Opsi menu konteks

halaman menu konteks tab jalankan

Menu konteks pada simpul Titik pengujian dalam tab Jalankan menyediakan opsi berikut:

  • Tandai hasil pengujian: Sama seperti di atas, memungkinkan Anda untuk dengan cepat menandai hasil titik pengujian - lulus, gagal, diblokir, atau tidak berlaku.
  • Jalankan titik pengujian: Sama seperti di atas, memungkinkan Anda menjalankan kasus pengujian melalui alat eksekusi pengujian.
  • Atur ulang pengujian ke aktif: Opsi ini memungkinkan Anda mengatur ulang hasil pengujian ke aktif, sehingga mengabaikan hasil terakhir dari titik pengujian.
  • Buka/edit formulir item kerja kasus pengujian: Dengan opsi ini, Anda dapat mengedit kasus Pengujian dengan menggunakan formulir item kerja tempat Anda mengedit bidang item kerja termasuk langkah-langkah pengujian.
  • Tetapkan penguji: Opsi ini memungkinkan Anda menetapkan poin pengujian kepada penguji untuk eksekusi pengujian.
  • Lihat hasil pengujian: Opsi ini memungkinkan Anda untuk melihat detail hasil pengujian terbaru termasuk hasil setiap langkah pengujian, komentar yang ditambahkan, atau bug yang diajukan.
  • Lihat riwayat eksekusi: Opsi ini memungkinkan Anda melihat seluruh riwayat eksekusi untuk titik pengujian yang dipilih. Tindakan ini membuka halaman baru tempat Anda dapat menyesuaikan filter untuk melihat riwayat eksekusi bukan hanya titik pengujian yang dipilih tetapi juga untuk seluruh kasus pengujian.

Laporan Kemajuan Dokumen Pengujian

Laporan unik ini membantu Anda melacak eksekusi dan status satu atau beberapa Dokumen Pengujian dalam proyek. Kunjungi laporan* Kemajuan Dokumen Pengujian > untuk mulai menggunakan laporan.

Cuplikan layar bagian Rencana Pengujian dengan opsi Laporan kemajuan disorot.

Tiga bagian laporan meliputi hal berikut ini:

  1. Ringkasan: memperlihatkan tampilan terkonsolidasi untuk dokumen pengujian yang dipilih.
  2. Tren hasil: merender snapshot harian sehingga Anda bisa melihat garis tren eksekusi dan status. Ini dapat menampilkan data selama 14 hari (default), 30 hari, atau rentang kustom.
  3. Detail: bagian ini memungkinkan Anda menelusuri secara detail setiap dokumen pengujian dan memberi Anda analitik penting untuk setiap rangkaian pengujian.

Cuplikan layar laporan Kemajuan.

Artefak

Catatan

Azure DevOps Server 2020 tidak mengimpor umpan yang berada di keranjang sampah selama impor data. Jika Anda ingin mengimpor umpan yang berada di keranjang sampah, silakan lakukan pemulihan dari keranjang sampah sebelum memulai impor data.

Ekspresi lisensi dan lisensi yang disematkan

Sekarang Anda dapat melihat detail informasi lisensi untuk paket NuGet yang disimpan di Azure Artifacts saat menelusuri paket di Visual Studio. Ini berlaku untuk lisensi yang diwakili dengan menggunakan ekspresi lisensi atau lisensi yang disematkan. Sekarang Anda dapat melihat tautan ke informasi lisensi di halaman detail paket Visual Studio (panah merah pada gambar di bawah).

Cuplikan layar paket Newtonsoft.Json NuGet dengan panah merah menunjuk ke lisensi paket.

Mengeklik tautan akan membawa Anda ke halaman web tempat Anda bisa melihat detail lisensi. Pengalaman ini sama untuk ekspresi lisensi dan lisensi yang disematkan, sehingga Anda dapat melihat detail lisensi untuk paket yang disimpan di Azure Artifacts di satu tempat (untuk paket yang menentukan informasi lisensi dan didukung oleh Visual Studio).

Cuplikan layar jendela browser yang menyebarkan teks lisensi MIT

Tugas autentikasi ringan

Sekarang Anda dapat melakukan autentikasi dengan manajer paket populer dari Alur Azure dengan menggunakan tugas autentikasi ringan. Ini mencakup NuGet, npm, PIP, Twine, dan Maven. Sebelumnya, Anda dapat melakukan autentikasi dengan manajer paket ini menggunakan tugas yang menyediakan sejumlah besar fungsionalitas, termasuk kemampuan untuk menerbitkan dan mengunduh paket. Namun, hal ini memerlukan penggunaan tugas-tugas ini untuk semua aktivitas yang berinteraksi dengan manajer paket. Jika harus menjalankan skrip sendiri untuk melakukan tugas seperti menerbitkan atau mengunduh paket, Anda tidak akan dapat menggunakannya di Alur Anda. Sekarang, Anda dapat menggunakan skrip desain Anda sendiri di YAML alur Anda dan melakukan autentikasi dengan tugas ringan baru ini. Contoh menggunakan npm:

Cuplikan layar contoh tugas autentikasi ringan.

Penggunaan perintah "ci" dan "terbitkan" dalam ilustrasi ini bersifat manasuka, Anda dapat menggunakan perintah apa pun yang didukung oleh Alur Azure YAML. Dengan ini, Anda memiliki kontrol penuh atas pemanggilan perintah dan penggunaan skrip bersama dalam konfigurasi alur Anda jadi lebih mudah. Untuk informasi selengkapnya, silakan lihat dokumentasi tugas autentikasi NuGet, npm, PIP, Twine, dan Maven.

Penyempurnaan untuk waktu muat halaman umpan

Kami sangat senang mengumumkan bahwa kami telah meningkatkan waktu muat halaman umpan. Rata-rata, waktu muat halaman umpan telah menurun sebesar 10%. Umpan terbesar telah mengalami peningkatan terbaik, yaitu waktu muat halaman umpan persentil ke-99 (waktu muat tertinggi 99% dari semua umpan) menurun sebesar 75%.

Bagikan paket Anda secara publik dengan umpan publik

Anda sekarang dapat membuat dan menyimpan paket Anda di dalam umpan publik. Paket yang disimpan dalam umpan publik tersedia untuk siapa saja di internet tanpa autentikasi, baik yang berada di dalam atau di luar koleksi Anda atau bahkan masuk ke koleksi Azure DevOps. Pelajari selengkapnya tentang umpan publik dalam dokumentasi umpan kami atau langsung masuk ke tutorial kami untuk berbagi paket secara publik.

Cuplikan layar memperlihatkan halaman PublicFeed untuk paket Anda.

Mengonfigurasi upstram pada koleksi yang berbeda dalam penyewa AAD

Sekarang Anda dapat menambahkan umpan di koleksi lain yang terkait dengan penyewa Azure Active Directory (AAD) Anda sebagai sumber upstram ke umpan Artefak Anda. Umpan Anda dapat menemukan dan menggunakan paket dari umpan yang dikonfigurasi sebagai sumber upstram, sehingga paket dapat dibagikan dengan mudah di seluruh koleksi yang terkait dengan penyewa AAD Anda. Lihat cara menyiapkan hal ini di dokumen.

Gunakan Penyedia Kredensial Python untuk mengautentikasi pip dan twine dengan umpan Azure Artifacts

Sekarang Anda dapat menginstal dan menggunakan Penyedia Kredensial Python (artifacts-keyring) guna menyiapkan autentikasi secara otomatis untuk menerbitkan atau menggunakan paket Python ke atau dari umpan Artefak Azure. Dengan penyedia kredensial, Anda tidak perlu menyiapkan file konfigurasi apa pun (pip.ini/pip.conf/.pypirc), Anda hanya akan diarahkan melalui alur autentikasi di browser web Anda saat memanggil pip atau twine untuk pertama kalinya. Lihat informasi selengkapnya di dokumentasi.

Umpan Artefak Azure di Visual Studio Package Manager

Kami sekarang menampilkan ikon paket, deskripsi, dan pembuat di Visual Studio NuGet Package Manager untuk paket yang disajikan dari umpan Azure Artifacts. Sebelumnya, sebagian besar metadata ini tidak disediakan untuk VS.

Koneksi untuk pengalaman umpan yang diperbarui

Dialog Koneksi untuk umpan adalah entryway untuk menggunakan Azure Artifacts; Dialog ini berisi informasi tentang cara mengonfigurasi klien dan repositori untuk mendorong dan menarik paket dari umpan di Azure DevOps. Kami telah memperbarui dialog untuk menambahkan informasi penyiapan terperinci dan memperluas alat yang menerima instruksi dari kami.

Umpan publik sekarang tersedia secara umum dengan dukungan upstram

Pratinjau publik pada umpan publik telah menerima adopsi dan umpan balik yang besar. Dalam rilis ini, kami memperluas fitur tambahan ke ketersediaan umum. Sekarang, Anda dapat mengatur umpan publik sebagai sumber upstram dari umpan privat. Anda dapat membuat file konfigurasi tetap sederhana dengan kemampuan untuk melakukan upstram baik ke maupun dari umpan privat dan cakupan proyek.

Membuat umpan cakupan proyek dari portal

Ketika merilis umpan publik, kami juga merilis umpan cakupan proyek. Hingga saat ini, umpan cakupan proyek dapat dibuat melalui REST API atau dengan membuat umpan publik lalu mengubah proyek menjadi privat. Sekarang, Anda dapat membuat umpan cakupan proyek langsung di portal dari proyek apa pun jika Anda memiliki izin yang diperlukan. Anda juga dapat melihat umpan mana yang merupakan proyek dan mana yang cakupan koleksi dalam pemilih umpan.

Peningkatan performa npm

Kami telah membuat perubahan pada desain inti kami untuk meningkatkan cara kami menyimpan dan mengirimkan paket npm di umpan Azure Artifacts. Hal ini telah membantu kami mencapai pengurangan latensi hingga 10 kali lipat untuk beberapa API tertinggi yang digunakan untuk npm.

Peningkatan aksesibilitas

Kami telah menyebarkan perbaikan untuk mengatasi masalah aksesibilitas di halaman umpan kami. Perbaikannya meliputi hal-hal berikut:

  • Membuat pengalaman umpan
  • Pengalaman pengaturan umpan global
  • Koneksi untuk pengalaman umpan

Wiki

Pengeditan beragam untuk halaman wiki kode

Sebelumnya, saat mengedit halaman wiki kode, Anda diarahkan ke hub Repositori Azure untuk pengeditan. Saat ini, hub Repo tidak dioptimalkan untuk pengeditan markdown.

Sekarang Anda dapat mengedit halaman wiki kode di editor berdampingan di dalam wiki. Dengan ini, Anda dapat menggunakan beragam toolbar markdown agar konten Anda membuat pengalaman pengeditan yang mirip dengan pengalaman pada wiki proyek. Anda masih dapat memilih untuk mengedit dalam repositori dengan memilih opsi Edit di Repositori di menu konteks.

Cuplikan layar memperlihatkan menu Edit dengan opsi Edit di Repositori dipanggil.

Membuat dan menyematkan item kerja dari halaman wiki

Saat mendengarkan umpan balik Anda, kami mendengar bahwa Anda menggunakan wiki untuk mengambil dokumen diskusi masalah, dokumen perencanaan, ide tentang fitur, dokumen spesifikasi, dan risalah rapat. Sekarang Anda dapat dengan mudah membuat fitur dan cerita pengguna langsung dari dokumen perencanaan tanpa meninggalkan halaman wiki.

Untuk membuat item kerja, pilih teks di halaman wiki tempat Anda ingin menyematkan item kerja dan pilih Item kerja baru. Hal ini menghemat waktu karena Anda tidak perlu membuat item kerja terlebih dahulu, masuk ke edit, lalu menemukan item kerja untuk menyematkannya. Ini juga mengurangi peralihan konteks karena Anda tidak keluar dari cakupan wiki.

Video singkat memperlihatkan cara membuat dan menyematkan item kerja dari halaman wiki.

Untuk mempelajari selengkapnya tentang membuat dan menyematkan item kerja dari wiki, lihat dokumentasi kami di sini.

Komentar di halaman wiki

Sebelumnya, Anda tidak dapat berinteraksi dengan pengguna wiki lain di dalam wiki. Ini menghambat kolaborasi pada konten dan perolehan jawaban atas pertanyaan, karena percakapan harus dilakukan melalui saluran email atau obrolan. Dengan komentar, Anda sekarang dapat berkolaborasi dengan orang lain langsung di dalam wiki. Anda dapat memanfaatkan fungsionalitas pengguna @mention di dalam komentar untuk menarik perhatian anggota tim lain. Fitur ini telah diprioritaskan berdasarkan tiket saran ini. Untuk informasi selengkapnya tentang komentar, silakan lihat dokumentasi kami di sini.

Cuplikan layar memperlihatkan cara menambahkan komentar di halaman wiki.

Sembunyikan folder dan file yang dimulai dengan "." di pohon wiki

Hingga saat ini, pohon wiki menampilkan semua folder dan file yang dimulai dengan titik (.) di pohon wiki. Dalam skenario wiki kode, ini menyebabkan folder seperti .vscode, yang dimaksudkan untuk disembunyikan, untuk muncul di pohon wiki. Sekarang, semua file dan folder yang dimulai dengan titik akan tetap tersembunyi di pohon wiki sehingga mengurangi kekacauan yang tidak perlu.

Fitur ini telah diprioritaskan berdasarkan tiket saran ini.

URL halaman Wiki yang pendek dan dapat dibaca

Anda tidak lagi harus menggunakan URL multibaris untuk berbagi tautan halaman wiki. Kami memanfaatkan ID halaman di URL untuk menghapus parameter sehingga membuat URL lebih pendek dan lebih mudah dibaca.

Struktur URL baru akan terlihat seperti:

https://dev.azure.com/{accountName}/{projectName}/_wiki/wikis/{wikiName}/{pageId}/{readableWiki PageName}

Ini adalah contoh URL baru untuk halaman Wiki Selamat Datang di Azure DevOps:

https://dev.azure.com/microsoft/ AzureDevOps/_wiki/wikis/AzureDevOps.wiki/1/Welcome-to-Azure-DevOps-Wiki

Contoh ini diprioritaskan berdasarkan tiket saran fitur ini dari Komunitas Pengembang.

Gulir sinkron untuk mengedit halaman wiki

Mengedit halaman wiki kini lebih mudah dengan gulir sinkron antara panel edit dan pratinjau. Tindakan menggulir di satu sisi akan secara otomatis menggulir sisi lain untuk memetakan bagian yang sesuai. Anda dapat menonaktifkan gulir sinkron dengan tombol alih.

Cuplikan layar toolbar wiki dengan ikon gulir sinkronisasi dipanggil dan tombol Nonaktifkan pengalih gulir yang disinkronkan di atasnya.

Catatan

Status pengalih gulir sinkron disimpan per pengguna dan akun.

Kunjungan halaman untuk halaman wiki

Anda sekarang bisa mendapatkan wawasan tentang kunjungan halaman untuk halaman wiki. REST API memungkinkan Anda mengakses informasi kunjungan halaman dalam 30 hari terakhir. Anda dapat menggunakan data ini untuk membuat laporan untuk halaman wiki Anda. Selain itu, Anda dapat menyimpan data ini di sumber data dan membuat dasbor untuk mendapatkan wawasan tertentu seperti halaman teratas-n yang paling banyak dilihat.

Anda juga akan melihat jumlah kunjungan halaman agregat selama 30 hari terakhir di setiap halaman.

Cuplikan layar memperlihatkan kunjungan sebelumnya untuk halaman wiki.

Catatan

Kunjungan halaman didefinisikan sebagai tampilan halaman oleh pengguna tertentu dalam interval 15 menit.

Pelaporan

Laporan kegagalan dan durasi alur

Metrik dan wawasan membantu Anda terus meningkatkan throughput dan stabilitas alur Anda. Kami telah menambahkan dua laporan baru untuk memberi Anda wawasan tentang alur Anda.

  1. Laporan kegagalan alur menunjukkan tingkat kelulusan kompilasi dan tren kegagalan. Selain itu, hal ini juga akan menunjukkan tren kegagalan tugas untuk memberikan wawasan tentang tugas mana dalam alur yang berkontribusi pada jumlah maksimum kegagalan.

Cuplikan layar memperlihatkan tab Analitik yang menampilkan lencana laju pass Alur, lencana Laju lulus uji, dan lencana durasi Alur.

Cuplikan layar memperlihatkan laporan kegagalan Alur.

  1. Laporan durasi alur menunjukkan tren waktu yang diperlukan agar alur berjalan. Hal ini juga menunjukkan tugas mana dalam alur yang memakan waktu paling lama.

Penyempurnaan widget Hasil Kueri

Widget hasil kueri adalah salah satu widget kami yang paling populer, dan untuk alasan yang baik. Widget menampilkan hasil kueri langsung di dasbor Anda dan berguna dalam banyak situasi.

Dengan pembaruan ini, kami menyertakan banyak peningkatan yang telah lama dinantikan:

  • Anda sekarang dapat memilih kolom sebanyak yang ingin Anda tampilkan di widget. Tidak ada lagi batas 5 kolom!
  • Widget mendukung semua ukuran, dari 1x1 hingga 10x10.
  • Saat Anda mengubah ukuran kolom, lebar kolom akan disimpan.
  • Anda dapat memperluas widget ke tampilan layar penuh. Saat diperluas, layar akan menampilkan semua kolom yang dikembalikan oleh kueri.

Pemfilteran tingkat lanjut pada widget Waktu Penyelesaian dan Pengerjaan

Waktu penyelesaian dan pengerjaan digunakan oleh tim untuk melihat berapa lama proses pengerjaan alur pengembangan mereka, dan pada akhirnya memberikan nilai kepada pelanggan mereka.

Hingga saat ini, widget waktu penyelesaian dan pengerjaan tidak mendukung kriteria filter lanjutan untuk pertanyaan seperti: "berapa lama tim saya bisa menyelesaikan item prioritas yang lebih tinggi?"

Dengan pembaruan ini, pertanyaan seperti ini dapat dijawab dengan memfilter Papan swimlane.

Cuplikan layar memperlihatkan kotak dialog Konfigurasi dengan bagian Swimlane dipanggil.

Kami juga telah menyertakan filter item kerja untuk membatasi item kerja yang muncul di bagan.

Cuplikan layar memperlihatkan kotak dialog Konfigurasi dengan bagian Kriteria bidang dipanggil.

Sprint Burndown sebaris menggunakan estimasi pengerjaan

Sprint Burndown Anda sekarang dapat dianalisis secara burndown melalui Cerita. Bagian ini membahas umpan balik Anda dari Komunitas Pengembang.

Dari hub Sprint, pilih tab Analitik. Kemudian konfigurasikan laporan Anda sebagai berikut:

  1. Pilih backlog Cerita
  2. Pilih burndown pada Jumlah Estimasi Pengerjaan

Cuplikan layar memperlihatkan burndown sprint sebaris menggunakan titik cerita.

Widget Sprint Burndown dengan semua yang Anda minta

Widget Sprint Burndown baru mendukung analisis burndown berdasarkan Estimasi Pengerjaan, jumlah Tugas, atau dengan menjumlahkan bidang isian kustom. Anda bahkan dapat membuat sprint burndown untuk Fitur atau Epik. Widget menampilkan burndown rata-rata, % penyelesaian, dan peningkatan cakupan. Anda dapat mengonfigurasi tim, sehingga dapat menampilkan sprint burndown untuk beberapa tim di dasbor yang sama. Dengan semua tampilan informasi hebat ini, Anda dapat mengubah ukurannya hingga 10x10 di dasbor.

Sceenshot memperlihatkan widget Sprint Burndown baru.

Untuk mencobanya, Anda dapat menambahkannya dari katalog widget, atau dengan mengedit konfigurasi untuk widget Sprint Burndown yang ada dan mencentang kotak Coba versi baru sekarang.

Catatan

Widget baru menggunakan Analytics. Kami menyimpan Sprint Burndown warisan jika Anda tidak memiliki akses ke Analitik.

Gambar mini sprint burndown sebaris

Sprint Burndown kembali lagi! Beberapa sprint yang lalu, kami menghapus sprint burndown dalam konteks dari header Sprint Burndown dan Taskboard. Berdasarkan umpan balik Anda, kami telah meningkatkan dan mengidentifikasi kembali gambar mini sprint burndown.

Cuplikan layar memperlihatkan gambar mini burndown sprint sebaris.

Tindakan mengeklik gambar mini akan segera menampilkan versi bagan yang lebih besar dengan opsi untuk melihat laporan lengkap di bawah tab Analitik. Setiap perubahan yang dilakukan pada laporan lengkap akan terlihat dalam bagan yang ditampilkan di header. Jadi Anda sekarang dapat mengonfigurasinya untuk burndown berdasarkan unit pengerjaan, estimasi pengerjaan, atau berdasarkan jumlah tugas, bukan hanya jumlah pekerjaan yang tersisa.

Membuat dasbor tanpa tim

Anda sekarang dapat membuat dasbor tanpa mengaitkannya dengan tim. Saat membuat dasbor, pilih jenis Dasbor Proyek.

Cuplikan layar memperlihatkan kotak dialog Create dasbor dengan opsi Dasbor Proyek dipilih dan dipanggil.

Dasbor Proyek mirip dengan Dasbor Tim, namun bedanya, ia tidak terkait dengan Tim dan Anda dapat memutuskan siapa yang dapat mengedit/mengelola dasbor. Sama seperti Dasbor Tim, hal tersebut terlihat oleh semua orang dalam proyek.

Semua widget Azure DevOps yang memerlukan konteks tim telah diperbarui agar Anda dapat memilih tim dalam konfigurasinya. Anda dapat menambahkan widget ini ke Dasbor Project dan memilih tim tertentu yang Anda inginkan.

Cuplikan layar dropdown Tim.

Catatan

Untuk widget kustom atau pihak ketiga, Dasbor Proyek akan meneruskan konteks tim default ke widget tersebut. Jika Anda memiliki widget kustom yang bergantung pada konteks tim, Anda harus memperbarui konfigurasi agar Anda dapat memilih tim.


Umpan Balik

Kami ingin mendengar pendapat Anda! Anda dapat melaporkan masalah atau memberikan ide dan melacaknya melalui Komunitas Pengembang dan mendapatkan saran tentang Stack Overflow.


Bagian Atas Halaman