Bagikan melalui


Catatan Rilis Azure DevOps Server 2020

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

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

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

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 Anda ada di 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.


Tingkatkan dengan Aman dari Azure DevOps Server 2019 ke Azure DevOps Server 2020

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

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

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

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

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

  • Memperluas daftar karakter yang diperbolehkan dalam tugas PowerShell untuk Mengaktifkan validasi parameter argumen tugas shell.

Nota

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

Memasang tambalan

Penting

Kami merilis pembaruan untuk agen Azure Pipelines dengan Patch 4 yang 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 mengunggah tugas ke dokumentasi koleksi proyek untuk menginstal dan masuk dengan tfx-cli.

Memperbarui tugas menggunakan TFX

Arsip 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.

  • Tentang klasik

    Tentukan variabel di tab variabel dalam alur kerja.

  • Contoh YAML:

variables: 
- name: AZP_75787_ENABLE_NEW_LOGIC 
  value: true 

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

Penting

Kami merilis pembaruan untuk agen Azure Pipelines dengan Patch 4 yang 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" ditampilkan sebagai Identitas Tidak Aktif pada mesin peningkatan patch.

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

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

  • CVE-2023-33136: Kerentanan Eksekusi Kode Jarak Jauh Azure DevOps Server.
  • CVE-2023-38155: Kerentanan Eskalasi Hak Istimewa di Azure DevOps Server dan Team Foundation Server.

Penting

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

Nota

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

Memasang tambalan

  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.  

Nota

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 tugas unggah ke dokumentasi koleksi proyek untuk menginstal dan masuk menggunakan 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.

  • Di mode klasik:

    Tentukan variabel di tab variabel di alur.

  • Contoh YAML:

variables: 
- name: AZP_75787_ENABLE_NEW_LOGIC 
  value: true 

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

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

  • Memperbaiki bug yang menghalangi pengunggahan paket saat melakukan upgrade dari versi 2018 atau sebelumnya.

Tanggal Rilis Azure DevOps Server 2020 Update 0.2 Patch 2: 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 pengiriman paket saat memperbarui dari versi 2018 atau yang lebih lama.

Tanggal Rilis Azure DevOps Server 2020 Update 0.2 Patch 1: 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.
  • Memperbaiki masalah dengan filter "Diminta oleh Anggota Grup" di pengaturan kait web.
  • Memperbaiki kesalahan check-in build Gated ketika pengaturan Organisasi untuk pipeline memiliki cakupan otorisasi pekerjaan yang dikonfigurasi sebagai membatasi cakupan otorisasi pekerjaan ke proyek saat ini untuk pipeline non-rilis.

Tanggal Rilis Azure DevOps Server 2020.0.2: 17 Mei 2022

Azure DevOps Server 2020.0.2 adalah penggulungan 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.

Nota

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

Rilis ini mencakup perbaikan untuk hal berikut:

  • Tidak dapat melewati antrian pembuatan menggunakan tombol "Jalankan selanjutnya". Sebelumnya, tombol "Jalankan berikutnya" diaktifkan hanya untuk administrator koleksi proyek.

  • Cabut semua token akses pribadi setelah akun Direktori Aktif pengguna dinonaktifkan.

Tanggal Rilis Azure DevOps Server 2020.0.1 Patch 9: 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 dalam item kerja.
  • Perbaiki kesalahan TF400813 saat beralih akun. Kesalahan ini terjadi ketika ditingkatkan dari TFS 2018 ke Azure DevOps Server 2020.0.1.
  • Perbaiki masalah dengan halaman ringkasan Gambaran Umum Proyek gagal dimuat.
  • Penyempurnaan sinkronisasi pengguna Direktori Aktif.
  • 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 dapat mengembalikan peringatan seperti: Tidak dapat tersambung ke server jarak jauh. Jangan tutup jendela, karena pembaruan sedang melakukan percobaan ulang hingga selesai.

Nota

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 pada komputer server Elasticsearch.

SHA-256 Hash: B0C05A972C73F253154AEEB7605605EF2E596A96A3720AE942D7A9DDD881545E

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

Patch 8 untuk Azure DevOps Server 2020.0.1 menyertakan 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 yang identik secara berturut-turut.
  • Masalah dengan evaluasi aturan NOTSAMEAS saat terdapat beberapa aturan NOTSAMEAS yang ditentukan untuk bidang.

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

Patch 7 untuk Azure DevOps Server 2020.0.1 menyertakan perbaikan untuk yang berikut ini.

  • 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 .
  • Atasi masalah dengan widget Test Plan. Laporan eksekusi pengujian menunjukkan pengguna yang salah pada hasil.
  • Perbaiki masalah dengan halaman ringkasan Gambaran Umum Proyek gagal dimuat.
  • Perbaiki masalah di mana email tidak terkirim untuk mengonfirmasi peningkatan produk.

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

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

  • Memperbaiki kegagalan pengunduhan/unggahan Artefak.
  • Atasi masalah dengan data Hasil Pengujian yang tidak konsisten.

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

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

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

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

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

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

Tanggal Rilis Azure DevOps Server 2020.0.1 Patch 3: 11 Mei 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.

Verifikasi Instalasi

  • Opsi 1: Jalankan devops2020.0.1patch3.exe CheckInstall, devops2020.0.1patch3.exe adalah file yang diunduh dari tautan di atas. Output perintah akan menyatakan apakah patch telah diinstal atau belum 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 untuk c:\Program Files\Azure DevOps Server 2020 secara default. Setelah menginstal Azure DevOps Server 2020.0.1 Patch 3, versinya adalah 18.170.31228.1.

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

Nota

Jika Anda memiliki Azure DevOps Server 2020, Anda harus terlebih dahulu memperbarui ke Azure DevOps Server 2020.0.1 . Setelah menginstal versi 2020.0.1, pasang 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 untuk patch ini, Anda harus mengikuti langkah-langkah yang tercantum di bawah ini untuk penginstalan patch umum, AzureResourceGroupDeploymentV2 dan penginstalan tugas 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 belum 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 untuk c:\Program Files\Azure DevOps Server 2020 secara default. Setelah menginstal Azure DevOps Server 2020.0.1 Patch 2, versinya adalah 18.170.31123.3.

Penginstalan tugas AzureResourceGroupDeploymentV2

Nota

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

Pasang

  1. Ekstrak paket AzureResourceGroupDeploymentV2.zip ke folder baru pada 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 prompt perintah dalam mode administrator dan jalankan perintah berikut untuk menginstal tfx-cli.

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

  2. Jalankan perintah berikut dari command prompt. 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

Nota

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

Pasang

  1. Ekstrak paket AzureResourceManagerTemplateDeploymentV3.zip ke folder baru pada 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 prompt perintah dalam mode administrator dan jalankan perintah berikut untuk menginstal tfx-cli.

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

  2. Jalankan perintah berikut di prompt 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 Azure DevOps Server 2020.0.1 Patch 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.

  • Atasi masalah yang dilaporkan dalam tiket umpan balik Developer Community ini| Tombol Kasus Uji Baru tidak berfungsi
  • Sertakan perbaikan yang dirilis dengan Azure DevOps Server 2020 Patch 2.

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

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

  • Menyelesaikan masalah yang dilaporkan di tiket umpan balik Komunitas Pengembang ini| Tombol Kasus Pengujian Baru tidak berfungsi

Tanggal Rilis Azure DevOps Server 2020.0.1: 19 Januari 2021

Azure DevOps Server 2020.0.1 adalah kompilasi perbaikan bug. Anda dapat langsung menginstal Azure DevOps Server 2020.0.1 atau meningkatkan 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 di mana 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. Mengatasi masalah yang dilaporkan dalam tiket umpan balik Komunitas Pengembang ini.
  • Kegagalan layanan yang disebabkan oleh hilangnya Microsoft.Azure.DevOps.ServiceEndpoints.Sdk.Server.Extensions.dll. Mengatasi masalah yang dilaporkan dalam tiket umpan balik Komunitas Pengembang ini.
  • Perbaiki kesalahan nama kolom yang tidak valid di Analytics saat meningkatkan ke Azure DevOps Server 2020. Mengatasi masalah yang dilaporkan dalam tiket umpan balik dari Komunitas Pengembang ini .
  • XSS tersimpan saat menampilkan langkah-langkah kasus pengujian dalam hasil kasus pengujian.
  • Kegagalan langkah peningkatan saat memigrasikan data hasil pengukuran ke TCM.

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

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

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

Azure DevOps Server 2020 Patch 1 Tanggal: 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 di Azure DevOps Server dan Team Foundation Services

Tanggal Rilis Azure DevOps Server 2020: 6 Oktober 2020

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

Nota

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

Jika Anda meningkatkan dari Azure DevOps 2019 (rilis apa pun) atau versi kandidat rilis Azure DevOps 2020 dan menggunakan direktori yang sama dengan rilis sebelumnya, rakitan Microsoft.TeamFoundation.Git.dll tidak akan diinstal. Anda dapat memverifikasi bahwa Anda 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 pada komputer/VM Azure DevOps Server dan jalankan perbaikan di Server Azure DevOps 2020. Setelah perbaikan selesai, Anda dapat memulai ulang komputer/VM.

Tanggal Rilis Azure DevOps Server 2020 RC2: 11 Agustus 2020

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

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

Kami telah merilis kembali Azure DevOps Server 2020 RC1 untuk memperbaiki tiket masukan dari Komunitas Pengembang.

Sebelumnya, setelah memutakhirkan dari Azure DevOps Server 2019 Update 1.1 ke Azure DevOps Server 2020 RC1, Anda tidak dapat melihat file di Repos, Pipelines, dan Wiki UI Web. Terjadi pesan kesalahan yang menunjukkan terjadi kesalahan tak terduga dalam wilayah halaman ini. Anda dapat mencoba memuat ulang komponen ini atau me-refresh seluruh halaman. Dengan rilis ini, kami telah memperbaiki masalah ini. Silakan lihat posting blog untuk informasi selengkapnya.

Tanggal Rilis Azure DevOps Server 2020 RC1: 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 melompat ke bagian individual untuk melihat semua fitur baru untuk setiap layanan:


Umum

Ketersediaan umum Azure DevOps CLI

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 tersedia secara umum.

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

Menggunakan profil publikasi untuk menerapkan Azure WebApps untuk Windows melalui Pusat Penyebaran

Sekarang Anda dapat menggunakan autentikasi berbasis profil publikasi untuk menyebarkan Azure WebApps untuk Windows dari Pusat Penyebaran. Jika Anda memiliki izin untuk menyebarkan ke Azure WebApp untuk Windows menggunakan profil penerbitannya, Anda akan dapat menyiapkan alur menggunakan profil ini di alur kerja Pusat Penyebaran.

Dewan

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

Kami menambahkan filter baru ke papan Sprint dan backlog Sprint. Ini memungkinkan Anda memfilter item backlog tingkat persyaratan (kolom pertama di sebelah kiri) berdasarkan induknya. Misalnya, dalam cuplikan layar di bawah ini, kami telah memfilter tampilan untuk hanya menampilkan user story yang induknya adalah "Fitur besar saya".

Cuplikan layar memperlihatkan filter Item Kerja Induk baru.

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

Secara historis, dari papan Kanban, jika Anda memindahkan item kerja dari satu kolom ke kolom lain di mana 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 mengklik pesan kesalahan merah untuk melihat detail kesalahan tanpa harus membuka item kerja itu sendiri.

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

Isi ulang langsung item kerja

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 pemuat ulang langsung item kerja.

Mengelola iterasi dan jalur area dari baris perintah

Anda sekarang dapat mengelola iterasi dan jalur area dari baris perintah dengan menggunakan perintah az boards iteration dan az boards area. Misalnya, Anda dapat mengatur dan mengelola iterasi dan jalur area secara interaktif dari CLI, atau mengotomatiskan seluruh penyiapan 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 Kolom yang disorot.

Mengubah proses yang digunakan oleh proyek

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

Cuplikan layar tab Proyek dengan opsi Ubah proses yang disebutkan.

Sembunyikan bidang kustom dari tata letak

Sekarang Anda dapat menyembunyikan bidang kustom dari tata letak formulir saat menyesuaikan proses Anda. Bidang tersebut akan tetap tersedia dari kueri dan REST API. Ini berguna untuk melacak bidang tambahan ketika Anda terintegrasi 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 karena itu, Anda ingin mengawasi kondisi dan kesehatan proses kerja mereka. Dengan laporan ini, kami mempermudah Anda untuk melacak metrik penting dengan upaya minimal di Azure Boards.

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

Metrik seperti sprint burndown, alur kerja, dan kecepatan tim memberi Anda visibilitas ke dalam kemajuan tim Anda dan membantu menjawab pertanyaan seperti:

  • Berapa banyak pekerjaan yang tersisa dalam sprint ini? Apakah kita berada di jalur untuk menyelesaikannya?
  • Langkah apa dari proses pengembangan yang memakan waktu paling lama? Bisakah kita melakukan sesuatu tentang hal itu?
  • Berdasarkan iterasi sebelumnya, berapa banyak pekerjaan yang harus kita rencanakan untuk sprint berikutnya?

Nota

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

Laporan baru sepenuhnya interaktif dan memungkinkan Anda menyesuaikannya untuk kebutuhan Anda. Anda dapat menemukan laporan baru di bawah tab analitik di setiap hub.

  • Bagan burndown dapat ditemukan di bawah hub Sprints.

    Cuplikan layar bagan burndown di tab Analitik pada hub Sprint.

  • Laporan CFD dan Kecepatan dapat diakses dari tab Analytics pada Papan dan Backlog dengan memilih kartu yang relevan.

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

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

  • Laporan Sprint Burndown dan Velocity dapat diatur untuk menggunakan jumlah item kerja atau jumlah pekerjaan yang tersisa.
  • Anda dapat menyesuaikan jadwal sprint burndown tanpa memengaruhi tanggal proyek. Jadi, jika tim Anda biasanya menghabiskan hari pertama setiap perencanaan sprint, Anda sekarang dapat mencocokkan bagan untuk mencerminkan itu.
  • Grafik Burndown sekarang memiliki tanda air yang menunjukkan akhir pekan.
  • Laporan CFD memungkinkan Anda menghapus kolom papan seperti Desain untuk mendapatkan lebih banyak fokus pada alur yang dikontrol tim.

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

Cuplikan layar Diagram Alur Kumulatif pada tab Analitik.

Grafik Kecepatan sekarang dapat dilacak untuk semua tingkatan backlog. Misalnya, Anda sekarang dapat menambahkan Fitur dan Epik sedangkan sebelum bagan sebelumnya hanya mendukung Persyaratan. Berikut adalah contoh laporan pengukuran kecepatan untuk 6 iterasi terakhir dari backlog fitur.

Cuplikan layar bagan Kecepatan pada tab Analitik.

Mengkustomisasi kolom Taskboard

Kami sangat senang mengumumkan bahwa kami menambahkan opsi untuk memungkinkan Anda 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 dari Taskboard dengan opsi Kolom yang ditandai.

Fitur ini diprioritaskan berdasarkan saran dari Komunitas Pengembang.

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

Sering kali, saat menyempurnakan backlog, Anda hanya ingin melihat item yang belum selesai. Sekarang, Anda memiliki kemampuan untuk menampilkan atau menyembunyikan item anak yang sudah selesai di backlog.

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

Video pendek yang menunjukkan cara menampilkan atau menyembunyikan item anak pada backlog.

Tag terbaru ditampilkan saat menandai item kerja

Saat menandai item kerja, opsi lengkapi otomatis sekarang akan menampilkan hingga lima tag yang terakhir digunakan. Ini akan memudahkan untuk menambahkan informasi yang tepat ke item kerja Anda.

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

Aturan baca-saja dan aturan wajib untuk keanggotaan grup

Aturan item kerja memungkinkan Anda mengatur tindakan tertentu pada bidang item kerja untuk mengotomatiskan perilakunya. Anda dapat membuat aturan untuk mengatur bidang menjadi hanya-baca atau wajib berdasarkan keanggotaan grup. Misalnya, Anda mungkin ingin memberi pemilik produk kemampuan untuk menetapkan prioritas fitur Anda, sambil membuatnya berstatus hanya-baca untuk orang lain.

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

Sesuaikan nilai daftar pilih sistem

Anda sekarang dapat menyesuaikan nilai untuk daftar pilih sistem apa pun (kecuali bidang alasan) seperti Tingkat Keparahan, Aktivitas, Prioritas, dll. Kustomisasi daftar pilih dicakup sehingga Anda dapat mengelola nilai yang berbeda untuk bidang yang sama untuk setiap jenis 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 pada papan, backlog, atau sprint Anda dengan menambahkan parameter ?workitem=[ID] ke URL.

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

Menyebutkan orang, item kerja, dan PR di bidang teks

Saat kami 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 dapat 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 halnya dengan komentar.
  • Untuk menggunakan sebutan item kerja, ketik tanda # diikuti dengan ID atau judul item kerja. #mentions akan membuat tautan antara dua item kerja.
  • Untuk menggunakan penyebutan PR, tambahkan ! diikuti dengan ID atau nama PR Anda.

Reaksi pada komentar diskusi

Salah satu tujuan utama kami adalah membuat item kerja lebih kolaboratif bagi tim. Baru-baru ini kami melakukan jajak pendapat di Twitter untuk mengetahui fitur kolaborasi apa yang Anda inginkan dalam diskusi tentang item kerja. Membawa reaksi terhadap komentar memenangkan jajak pendapat, jadi kami menambahkannya! Berikut adalah hasil jajak pendapat Twitter.

Cuplikan layar jajak pendapat 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 mau, 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 terhadap komentar dengan dua cara berbeda.

Menyematkan laporan Azure Boards ke dasbor

Dalam Pembaruan Sprint 155, kami menyertakan versi terbaru laporan CFD dan Velocity . Laporan ini tersedia di bawah tab Analitik Papan dan Backlog. Sekarang Anda dapat menyematkan laporan langsung ke Dasbor Anda. Untuk menyematkan laporan, arahkan kursor ke 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 turunan mencakup semua item anak dalam hierarki. Satu atau beberapa kolom rollup dapat ditambahkan ke backlog produk atau portofolio.

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

Cuplikan layar item-item kerja di backlog.

Pembaruan langsung papan tugas

Papan tugas Anda sekarang secara otomatis disegarkan ketika perubahan terjadi! Saat anggota tim lain memindahkan atau menyusun ulang kartu di papan tugas, papan Anda akan secara otomatis memperbarui 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 kolom apa pun, termasuk kolom khusus. Saat menambahkan kolom Rollup, Anda masih bisa memilih kolom Rollup dari daftar Cepat, namun jika Anda ingin melakukan rollup pada bidang numerik yang bukan bagian dari templat proses di luar kotak, Anda bisa mengonfigurasi sendiri sebagai berikut:

  1. Pada backlog Anda klik "Opsi kolom". Kemudian di panel klik "Tambahkan kolom Rollup" dan Konfigurasikan rollup kustom.

    Cuplikan layar menu dropdown untuk menambahkan kolom rollup.

  2. Pilih antara Bilah Kemajuan dan Total.
  3. Pilih jenis item kerja atau tingkat Backlog (biasanya backlog menggabungkan beberapa jenis item kerja).
  4. Pilih jenis agregasi. Jumlah item kerja atau Total. Untuk Sum, Anda perlu memilih bidang yang akan dirangkum.
  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 mengklik OK. Jika Anda perlu membuat perubahan, hapus kolom kustom dan tambahkan kolom kustom lain sesuai keinginan.

Aturan baru untuk menyembunyikan bidang dalam formulir item kerja berdasarkan kondisi

Kami telah menambahkan aturan baru ke mesin aturan yang diwariskan untuk memungkinkan Anda 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 detail selengkapnya, lihat dokumentasi di sini.

Pengaturan kustomisasi pemberitahuan item kerja

Tetap mendapatkan informasi terbaru tentang item kerja yang relevan dengan Anda atau tim Anda sangat penting. Ini membantu tim berkolaborasi dan tetap on track dengan proyek dan memastikan semua pihak yang tepat terlibat. Namun, pemangku kepentingan yang berbeda memiliki tingkat investasi yang berbeda dalam upaya, dan kami percaya bahwa hal tersebut harus tercermin dalam kemampuan Anda untuk memantau status item kerja.

Sebelumnya, jika Anda ingin mengikuti item kerja dan mendapatkan pemberitahuan tentang perubahan apa pun yang dibuat, Anda akan mendapatkan pemberitahuan email untuk setiap dan semua perubahan yang dilakukan pada item kerja. Setelah mempertimbangkan umpan balik Anda, kami membuat proses mengikuti item kerja menjadi lebih fleksibel untuk semua pemangku kepentingan. Sekarang, Anda akan melihat tombol pengaturan baru di samping tombol Ikuti di sudut kanan atas item kerja. Ini akan membawa Anda ke pop up yang akan memungkinkan Anda mengonfigurasi opsi ikuti Anda.

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

Dari Pengaturan Pemberitahuan, Anda dapat memilih dari tiga opsi pemberitahuan. Pertama, Anda dapat sepenuhnya berhenti berlangganan. Kedua, Anda dapat sepenuhnya berlangganan, di mana Anda mendapatkan pemberitahuan untuk semua perubahan item kerja. Terakhir, Anda dapat memilih untuk mendapatkan pemberitahuan untuk beberapa peristiwa perubahan item kerja teratas dan penting. Anda dapat memilih hanya satu, atau ketiga opsi. Ini akan memungkinkan anggota tim 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 dan memungkinkan Anda untuk fokus pada tugas penting yang ditangani.

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

Kami sangat senang untuk merilis kontrol Penyebaran pada formulir item kerja. Kontrol ini menautkan item kerja Anda ke rilis dan memungkinkan Anda melacak dengan mudah tempat item kerja Anda telah disebarkan. Untuk mempelajari selengkapnya, lihat dokumentasi di sini.

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 memperbarui item kerja yang ada. Untuk mempelajari selengkapnya, lihat dokumentasi di sini.

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

Menambahkan bidang induk ke kartu item kerja

Konteks induk sekarang tersedia dalam papan Kanban Anda sebagai bidang baru untuk kartu item kerja. Sekarang Anda dapat menambahkan bidang Induk ke kartu Anda, melewati kebutuhan untuk menggunakan jalan pintas seperti tag dan awalan.

Cuplikan layar memperlihatkan kartu item kerja dengan opsi Induk dipanggil.

Menambahkan kolom induk ke backlog dan kueri

Bidang induk sekarang tersedia saat menampilkan backlog dan hasil kueri. Untuk menambahkan bidang induk, gunakan opsi Kolom di tampilan.

Cuplikan layar bagian Opsi kolom dengan opsi Utama ditunjukkan.

Repos

Metrik cakupan kode dan kebijakan cabang untuk permintaan pull

Anda sekarang 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 yang memperlihatkan baris kode baru yang ditambahkan ke file.

Selain itu, pemilik repositori kini dapat menetapkan kebijakan cakupan kode dan mencegah perubahan besar yang belum diuji 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 yang ada mengonfigurasi kebijakan cabang untuk layanan tambahan kemampuan di Azure Repos.

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

Memilah pemberitahuan komentar dari permintaan penarikan

Komentar pada pull request sering kali dapat menimbulkan banyak kebisingan karena pemberitahuan. Kami telah menambahkan langganan kustom yang memungkinkan Anda memfilter pemberitahuan komentar mana yang Anda berlangganan berdasarkan usia komentar, pemberi komentar, komentar yang dihapus, pengguna yang disebutkan, penulis permintaan penarikan, cabang target, dan peserta utas. Anda dapat membuat langganan pemberitahuan ini dengan mengklik ikon pengguna di sudut kanan atas dan menavigasi ke Pengaturan pengguna.

Cuplikan layar memperlihatkan cara memfilter pemberitahuan komentar dari permintaan pull.

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

Kait layanan untuk komentar permintaan pull

Anda sekarang dapat membuat pengait layanan untuk komentar dalam pull request berdasarkan repositori dan cabang target.

Cuplikan layar wizard Langganan Hook untuk Layanan Baru.

Kebijakan untuk memblokir file dengan pola tertentu

Administrator sekarang dapat mengatur kebijakan untuk mencegah komit dimasukkan ke repositori berdasarkan tipe dan jalur berkas. Kebijakan validasi nama file akan memblokir pengunggahan yang cocok dengan pola yang disediakan.

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

Menyelesaikan item kerja melalui commit dengan menggunakan kata kunci

Anda sekarang dapat menyelesaikan item kerja melalui komit yang dibuat ke cabang default dengan menggunakan kata kunci seperti fix, fixes, atau fixed. Misalnya, Anda dapat menulis - "perubahan ini memperbaiki #476" dalam pesan commit Anda dan item kerja #476 akan selesai ketika commit tersebut didorong atau digabungkan ke cabang default. Untuk detail selengkapnya, lihat dokumentasi di sini.

Granularitas untuk peninjau otomatis

Sebelumnya, saat menambahkan peninjau tingkat grup ke permintaan pull, hanya satu persetujuan yang diperlukan dari grup yang ditambahkan. Sekarang Anda dapat mengatur 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 menyambungkan ke AKS

Sebelumnya, saat mengonfigurasi Azure Pipelines dari Pusat Penyebaran AKS, kami menggunakan Koneksi Azure Resource Manager. Koneksi ini memiliki akses ke seluruh kluster dan bukan hanya ke namespace yang pipeline-nya 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.

Pratinjau file Markdown dalam permintaan tarik Diff 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 Tampilkan.

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

Kedaluwarsa kebijakan build untuk build manual

Kebijakan menetapkan standar kualitas kode tim Anda dan manajemen perubahan. Sebelumnya, Anda dapat mengatur kebijakan kedaluwarsa build otomatis. Sekarang Anda juga dapat menetapkan kebijakan masa berlaku untuk build manual Anda.

Cuplikan layar kotak dialog tambahkan kebijakan build dengan bagian kedaluwarsa build.

Menambahkan kebijakan untuk memblokir penerapan berdasarkan email pembuat penerapan

Para administrator sekarang dapat mengatur kebijakan push untuk mencegah komit didorong ke repositori yang email penulis komitnya tidak sesuai 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 membiarkan tiket tetap terbuka dan mendorong pengguna untuk memberi tahu kami jenis kebijakan push lain yang ingin Anda lihat.

Menandai file sebagai telah ditinjau dalam pull request

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 sebagai ditinjau dalam permintaan pull.

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

Nota

Fitur ini hanya dimaksudkan untuk melacak kemajuan Anda saat Anda meninjau permintaan pull. Ini tidak mewakili 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 muka Azure Repos

Anda sekarang dapat mencoba halaman arahan baru kami yang modern, cepat, dan ramah pengguna seluler di Azure Repos. Halaman ini tersedia sebagai halaman arahan New Repos. Halaman arahan mencakup semua halaman kecuali untuk detail permintaan pull, detail penerapan, dan perbandingan cabang.

Web

Cuplikan layar UI web baru untuk halaman depan Azure Repos.

Telepon selular

Cuplikan layar dari UI seluler baru untuk halaman muka Azure Repos.

Administrasi kebijakan cabang lintas repositori

Kebijakan cabang adalah salah satu fitur canggih Azure Repos yang membantu Anda melindungi cabang penting. Meskipun kemampuan untuk mengatur 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 Repos.

Cuplikan layar kotak dialog Tambahkan perlindungan cabang.

Halaman tujuan pengubahan platform web baru

Kami telah memperbarui pengalaman pengguna di halaman muka Repos agar menjadi modern, cepat, dan mudah diakses melalui ponsel. 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 dari halaman Konversi File platform seluler.

Cuplikan layar halaman Komit di 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 Anda dan membantu Anda dengan cepat memindai untuk menemukan kesalahan. Kami memprioritaskan fitur ini berdasarkan saran dari Developer Community.

Cuplikan layar file Kotlin yang ditampilkan di UI.

Langganan pemberitahuan khusus untuk permintaan pull draf

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.

Kemampuan tindakan PR yang ditingkatkan

Ketika Anda memiliki banyak permintaan pull yang harus ditinjau, memahami bagian mana yang perlu segera ditindaklanjuti bisa jadi sulit. Untuk meningkatkan kemampuan tindakan permintaan pull, Anda sekarang dapat membuat beberapa kueri kustom di halaman daftar permintaan pull dengan beberapa opsi baru untuk difilter seperti status draf. Kueri ini akan membuat bagian terpisah dan dapat diciutkan di halaman permintaan pull Anda selain "Dibuat oleh saya" dan "Ditetapkan untuk saya". Anda juga dapat menolak untuk meninjau pull request yang Anda ditambahkan ke dalamnya melalui menu Vote atau menu konteks di halaman daftar pull request. Di bagian kustom, Anda sekarang akan melihat tab terpisah untuk permintaan pull yang telah Anda berikan tinjauan atau tolak untuk ditinjau. Kueri kustom ini akan berfungsi di seluruh repositori pada tab "Permintaan pull saya" di halaman beranda koleksi. Jika Anda ingin kembali ke pull request, Anda dapat menandainya dan itu akan muncul di bagian atas daftar Anda. Terakhir, permintaan tarik yang telah diatur ke selesai otomatis akan ditandai dengan label yang bertuliskan 'Selesai otomatis' dalam daftar.

Jaringan Pipa

Alur multi-tahap

Kami telah mengerjakan pengalaman pengguna yang diperbarui untuk mengelola alur Anda. Pembaruan ini membuat pengalaman penggunaan pipeline menjadi modern dan konsisten dengan arah Azure DevOps. Selain itu, pembaruan ini menggabungkan alur build klasik dan alur YAML multi-tahap ke dalam satu pengalaman. Ini ramah seluler dan membawa berbagai peningkatan pada cara Anda mengelola alur Anda. Anda dapat menelusuri lebih dalam dan melihat detail pipeline, detail pelaksanaan, analisis pipeline, detail pekerjaan, log, dan lainnya.

Kemampuan berikut disertakan dalam pengalaman baru:

  • menampilkan dan mengelola beberapa tahap
  • menyetujui jalur pipeline
  • gulir sepenuhnya kembali dalam log saat aliran kerja sedang berjalan
  • kesehatan tiap cabang dari jalur

Penerapan terus-menerus di YAML

Kami sangat senang menyediakan fitur CD YAML Azure Pipelines. Kami sekarang menawarkan pengalaman YAML terpadu sehingga Anda dapat mengonfigurasi setiap alur Anda untuk melakukan CI, CD, atau CI dan CD bersama-sama. Fitur CD YAML memperkenalkan beberapa fitur canggih baru yang tersedia untuk semua koleksi 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 pipeline di editor YAML

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

Cuplikan layar memperlihatkan kotak dialog Variabel.

Setujui rilis langsung dari Pusat Rilis

Mengambil tindakan terhadap persetujuan yang tertunda telah dipermudah. Sebelumnya, dimungkinkan untuk menyetujui rilis 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

Permintaan umum dengan wizard memulai adalah kemampuan mengganti nama file yang dihasilkan. Saat ini, dicentang sebagai azure-pipelines.yml dalam akar repositori Anda. Anda sekarang dapat memperbarui ini ke nama atau lokasi file yang berbeda sebelum menyimpan alur.

Akhirnya, kami dan Anda akan memiliki lebih banyak kontrol saat mengunggah file azure-pipelines.yml ke cabang berbeda karena Anda dapat memilih untuk mengabaikan pembuatan permintaan tarik dari cabang tersebut.

Tampilkan dokumen YAML yang diurai sepenuhnya tanpa mengkomit atau menjalankan pipeline

Kami telah menambahkan pratinjau tetapi tidak menjalankan mode 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 memberi Anda kembali alur YAML lengkap. Dalam pembaruan di masa 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 untuk menentukan pemicu terjadwal untuk alur YAML. Dengan rilis ini, Anda dapat menjadwalkan build menggunakan sintaks cron dalam file YAML Anda dan memanfaatkan manfaat berikut:

  1. Konfigurasi sebagai kode: Anda dapat melacak penjadwalan bersama dengan alur kerja Anda sebagai bagian dari kode.
  2. Ekspresif: Anda memiliki kekuatan ekspresif yang lebih besar dalam menentukan jadwal daripada yang dapat Anda lakukan dengan antarmuka pengguna. 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 memudahkan Anda untuk mendiagnosis masalah dengan jadwal cron. Eksekusi terjadwal di menu Jalankan alur akan memberi Anda pratinjau beberapa eksekusi terjadwal yang akan datang untuk alur Anda untuk membantu Anda mendiagnosis kesalahan dengan jadwal cron Anda.

Cuplikan layar memperlihatkan menu Jalankan alur dengan opsi Eksekusi terjadwal disebutkan.

Pembaruan pada antarmuka pengguna koneksi layanan

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

Cuplikan layar kotak dialog Koneksi layanan baru.

Seiring dengan pembaruan pengalaman pengguna, kami juga telah menambahkan dua kemampuan yang sangat penting untuk memanfaatkan koneksi layanan di pipeline YAML: otorisasi pipeline serta 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.

Nota

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.

Melewati tahapan dalam alur YAML

Ketika Anda memulai eksekusi manual, terkadang Anda mungkin ingin melewati beberapa tahap dalam alur kerja Anda. Misalnya, jika Anda tidak ingin menyebarkan ke produksi, atau jika Anda ingin melewati penyebaran ke beberapa lingkungan produksi. Sekarang Anda dapat melakukan ini dengan alur YAML Anda.

Panel alur eksekusi yang diperbarui menyajikan daftar tahapan dari file YAML, dan Anda memiliki opsi untuk melewati satu atau beberapa tahap tersebut. Anda harus berhati-hati saat melewati tahapan. Misalnya, jika tahap pertama Anda menghasilkan artefak tertentu yang diperlukan untuk tahap berikutnya, maka Anda tidak boleh melewati tahap pertama. Panel eksekusi menyajikan peringatan umum setiap kali Anda melewati tahapan yang memiliki dependensi hilir. Ini diserahkan kepada Anda apakah dependensi tersebut adalah dependensi artefak sejati atau apakah mereka hanya ada untuk penjadwalan penyebaran.

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

Melewati satu tahap setara dengan mengatur ulang dependensi antara tahap-tahap. Setiap ketergantungan langsung hilir dari tahap yang dilewati akan bergantung pada induk hulu dari tahap yang dilewati. Jika eksekusi gagal dan jika Anda mencoba menjalankan ulang tahap yang gagal, upaya tersebut juga akan memiliki perilaku melompat yang sama. Untuk mengubah tahapan mana yang dilewati, Anda harus memulai percobaan baru.

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

Koneksi layanan dengan antarmuka pengguna baru sebagai pengalaman default

Ada antarmuka pengguna koneksi layanan baru. UI 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 selengkapnya tentang koneksi layanan di sini.

Pemilih versi sumber daya alur dalam dialog buat menjalankan

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

Cuplikan layar kotak dialog Tahapan untuk dijalankan.

az Penyempurnaan Antarmuka Baris Perintah (CLI) untuk Azure Pipelines

Grup variabel alur dan perintah manajemen variabel

Ini bisa menantang untuk port alur berbasis YAML dari satu proyek ke proyek lain karena Anda perlu mengatur variabel alur dan grup variabel secara manual. Namun, dengan perintah manajemen grup variabel di pipeline dan variabel di, Anda sekarang dapat menyusun skrip untuk pengaturan dan pengelolaan variabel pipeline dan grup variabel yang selanjutnya dapat dikontrol versinya, memungkinkan Anda untuk berbagi instruksi dengan mudah untuk memindahkan dan menyiapkan jalur pengolah dari satu proyek ke proyek lainnya.

Jalankan alur untuk cabang PR

Saat membuat PR, mungkin sulit untuk memvalidasi apakah perubahan dapat merusak jalannya pipeline pada cabang target. Namun, dengan kemampuan untuk menjalankan alur atau mengantrekan build untuk cabang PR, Anda kini dapat memvalidasi dan memvisualisasikan perubahan yang masuk dengan menjalankannya terhadap alur target. Lihat dokumentasi dari perintah az pipelines run dan az pipelines build queue untuk informasi selengkapnya.

Lewati proses pipeline pertama

Saat membuat alur, terkadang Anda ingin membuat dan menerapkan file YAML dan tidak memicu eksekusi alur karena dapat mengakibatkan eksekusi yang rusak karena berbagai alasan - infrastruktur tidak siap atau perlu membuat dan memperbarui variabel/grup variabel dll. Dengan Azure DevOps CLI, Anda sekarang dapat melewati eksekusi alur otomatis pertama pada pembuatan alur dengan menyertakan parameter --skip-first-run. Lihat dokumentasi perintah az pipeline create untuk informasi selengkapnya.

Peningkatan perintah titik akhir layanan

Perintah CLI untuk 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. Referensikan dokumentasi perintah untuk informasi selengkapnya.

Tugas 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 dan pada pekerjaan penyebaran. Misalnya, Anda dapat menentukan serangkaian langkah dalam satu file dan merujuknya dalam tugas penyebaran.

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

  • timeoutInMinutes - berapa lama menjalankan pekerjaan sebelum dibatalkan secara otomatis
  • cancelTimeoutInMinutes - berapa lama waktu yang diberikan untuk 'tetap menjalankan tugas meskipun dibatalkan' sebelum menghentikannya.
  • kondisi - menjalankan tugas bersyarat
  • variabel - Nilai hardcoded dapat ditambahkan secara langsung, atau Anda dapat merujuk ke grup variabel, grup variabel yang didukung oleh Azure Key Vault, atau Anda dapat merujuk ke sekumpulan variabel yang didefinisikan dalam sebuah file.
  • continueOnError - jika pekerjaan di masa mendatang harus berjalan meskipun pekerjaan penyebaran ini gagal; secara default adalah 'false'

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

Menampilkan informasi jalur pipa CD yang terkait dalam jalur pipa 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 di mana Anda dapat menemukan semua eksekusi alur yang menggunakan alur dan artefak Anda darinya.

Cuplikan layar memperlihatkan info alur CD terkait di alur CI.

Dukungan untuk paket GitHub dalam alur YAML

Kami baru-baru ini memperkenalkan jenis sumber daya baru yang disebut paket yang menambahkan dukungan untuk menggunakan NuGet dan paket 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 konsumsi 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 bergerak maju, kami berencana untuk memperluas dukungan untuk menggunakan paket dari repositori paket lain seperti NuGet, npm, AzureArtifacts dan banyak lagi. Lihat contoh di bawah ini untuk 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

Nota

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, oleh karena itu mengapa kami telah memperkenalkan makro getPackage yang memungkinkan Anda menggunakan paket yang ditentukan dalam sumber daya. Lihat contoh di bawah ini untuk 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 menavigasi ke bilah Azure untuk kluster yang sesuai. Ini berlaku untuk lingkungan yang dipetakan ke namespace di kluster Azure Kubernetes Service.

Cuplikan layar dari tampilan sumber daya lingkungan dalam Kubernetes dengan tautan Kluster Azure Kubernetes Service yang diperlihatkan.

Filter folder rilis dalam langganan pemberitahuan

Folder memungkinkan pengorganisasian alur untuk memudahkan penemuan dan kontrol keamanan. Seringkali 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 difokuskan. Dengan pembaruan ini, Anda sekarang dapat menambahkan klausul untuk folder rilis pada peristiwa penyelesaian penyebaran dan persetujuan tertunda , serta menyederhanakan langganan.

Cuplikan layar filter folder rilis dalam langganan pemberitahuan.

Saat ini, Anda dapat menautkan item kerja secara otomatis dengan build klasik. Namun, ini tidak dimungkinkan dengan alur YAML. Dengan pembaruan ini kami telah mengatasi kesenjangan ini. Saat Anda berhasil menjalankan alur 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 di mana kode untuk item kerja tersebut dibuat. Untuk mengonfigurasi ini, gunakan panel pengaturan alur.

Membatalkan tahap dalam eksekusi alur YAML multi-tahap

Saat menjalankan alur YAML multi-tahap, Anda sekarang dapat membatalkan eksekusi tahap saat sedang berlangsung. Ini berguna jika Anda tahu bahwa tahap akan gagal atau jika Anda memiliki percobaan 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 sebagian besar fungsionalitas ini.

Anda sekarang dapat mencoba kembali tahap alur saat eksekusi gagal. Setiap pekerjaan yang gagal dalam upaya pertama dan pekerjaan yang bergantung secara transitif pada pekerjaan yang gagal semuanya dicoba kembali.

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

Ada 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 di masa mendatang.

Persetujuan dalam alur YAML multi-tahap

Alur CD YAML Anda mungkin berisi persetujuan manual. Pemilik infrastruktur dapat melindungi lingkungan mereka dan meminta persetujuan manual sebelum tahap dalam pipa mana pun diterapkan kepada mereka. Dengan pemisahan peran yang lengkap antara pemilik infrastruktur (lingkungan) dan aplikasi (alur), Anda akan memastikan mendapatkan persetujuan manual untuk penggelaran dalam alur tertentu dan mendapatkan kontrol terpusat dalam menerapkan pemeriksaan yang sama di semua penggelaran ke lingkungan.

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

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

Cuplikan layar memperlihatkan bahwa penyebaran sedang menunggu persetujuan.

Peningkatan batas waktu kedaluwarsa dan frekuensi pada gerbang

Sebelumnya, batas waktu tunggu gerbang dalam alur rilis adalah tiga hari. Dengan pembaruan ini, batas waktu tunggu telah ditingkatkan menjadi 15 hari untuk memungkinkan gerbang yang membutuhkan durasi lebih lama. Kami juga meningkatkan frekuensi gerbang menjadi 30 menit.

Templat gambar build baru untuk Dockerfile

Sebelumnya, saat membuat alur baru untuk Dockerfile, templat merekomendasikan untuk mendorong image ke Azure Container Registry dan menyebarkannya ke Azure Kubernetes Service. Kami menambahkan templat baru sehingga Anda dapat membuat citra menggunakan agen tanpa perlu mengunggah 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 kini menyediakan tugas baru di Azure Pipelines Tugas Pengaturan Azure App Service yang mendukung pengaturan konfigurasi ini secara massal menggunakan sintaks JSON pada aplikasi web Anda atau salah satu 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 fitur Swap dengan pratinjau

Azure App Service sekarang mendukung Swap 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. Ini juga akan memastikan bahwa slot target/produksi tidak mengalami gangguan operasional.

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 - Ketika siap untuk menyelesaikan pertukaran yang tertunda, pilih opsi Selesaikan Pertukaran dengan Pratinjau.
  • Batalkan Pertukaran dengan Pratinjau - Untuk membatalkan pertukaran yang tertunda, pilih Batalkan Pertukaran dengan Pratinjau.

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

Filter tingkat tahap untuk artefak di 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 panggung juga.

Cuplikan layar memperlihatkan bahwa Anda dapat menggunakan ekspresi reguler pada tahap penahapan.

Penyempurnaan persetujuan dalam alur kerja 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 tahap, eksekusi alur menunggu hingga alur disetujui secara manual.

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

Dukungan pengujian struktur kontainer di Azure Pipelines

Penggunaan kontainer dalam aplikasi meningkat dan dengan demikian kebutuhan akan pengujian dan validasi yang kuat. Azure Pipelines sekarang menyediakan 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 dijalankan bersama-sama: pengujian perintah, pengujian keberadaan file, pengujian konten file, dan pengujian metadata. Anda dapat menggunakan hasil dalam rangkaian proses untuk membuat keputusan lanjut/tidak lanjut. Data pengujian tersedia dalam pipeline run dengan pesan kesalahan untuk membantu Anda dengan lebih baik memecahkan masalah kegagalan.

Masukkan file konfigurasi dan detail gambar

Cuplikan layar memperlihatkan halaman Uji Struktur Kontainer.

Pengujian data dan ringkasan

Cuplikan layar memperlihatkan bahwa ringkasan dan data pengujian tersedia.

Dekorator jalur pipa untuk jalur rilis

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

Kami telah mendukung dekorator untuk build dan alur YAML, dengan 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 ekstensi tersebut 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 langganan dan grup manajemen. Ini akan membantu Anda saat menyebarkan sekumpulan sumber daya bersama-sama tetapi menempatkannya di grup sumber daya atau langganan yang berbeda. Misalnya, menyebarkan komputer 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 pipelines.

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 pipeline 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 pengunduhan artefak di sini.

Mengatur dan mengelola strategi penyebaran canary pada lingkungan Kubernetes

Salah satu keuntungan utama dari pengiriman berkelanjutan pembaruan aplikasi adalah kemampuan untuk dengan cepat mendorong pembaruan ke dalam produksi untuk layanan mikro tertentu. Ini memberi Anda kemampuan untuk merespons perubahan persyaratan bisnis dengan cepat. Environment diperkenalkan sebagai konsep unggulan yang memungkinkan orkestrasi strategi penyebaran dan memfasilitasi rilis tanpa waktu henti. Sebelumnya, kami mendukung strategi runOnce yang menjalankan langkah-langkah sekali secara berurutan. Dengan dukungan untuk strategi kenari dalam alur multi-tahap, Anda sekarang dapat mengurangi risiko dengan secara perlahan meluncurkan perubahan ke subset kecil. Saat Anda mendapatkan lebih banyak kepercayaan pada versi baru, Anda dapat mulai meluncurkannya ke lebih banyak server di infrastruktur Anda dan merutekan lebih banyak pengguna ke dalamnya.

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 kenari untuk Kubernetes pertama-tama akan menyebarkan perubahan dengan 10 pod% diikuti oleh 20% sambil memantau kesehatan selama postRouteTraffic. Jika semua berjalan dengan baik, akan terpromosikan ke 100%.

Kami mencari umpan balik awal tentang dukungan untuk sumber daya VM di lingkungan dan melakukan strategi penyebaran bergulir di beberapa komputer. Hubungi kami untuk mendaftar.

Kebijakan persetujuan untuk alur YAML

Di alur YAML, kami mengikuti konfigurasi persetujuan yang dikontrol pemilik sumber daya. Pemilik sumber daya mengonfigurasi persetujuan untuk sumber daya dan semua pipeline yang menggunakan sumber daya akan berhenti untuk mendapatkan persetujuan sebelum tahap yang memanfaatkan sumber daya dimulai. Adalah umum bagi pemilik aplikasi berbasis SOX untuk membatasi pemohon penyebaran agar tidak menyetujui penyebaran mereka sendiri.

Anda sekarang dapat menggunakan opsi persetujuan lanjutan untuk mengonfigurasi kebijakan persetujuan seperti pemohon tidak boleh menyetujui, memerlukan persetujuan dari subset pengguna dan batas waktu persetujuan.

Cuplikan layar memperlihatkan kotak dialog Buat persetujuan.

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 pemeriksaan artefak untuk mempermudah penambahan kebijakan dari daftar definisi kebijakan bawaan. Definisi kebijakan akan dibuat secara otomatis dan ditambahkan ke memeriksa 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 mengonsumsinya dalam langkah dan pekerjaan hilir lainnya dalam tahap yang sama.

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

  • Untuk strategi runOnce: $[dependencies.<job-name>.outputs['<lifecycle-hookname>.<step-name>.<variable-name>']]
  • Untuk strategi kenari : $[dependencies.<job-name>.outputs['<lifecycle-hookname>_<increment-value>.<step-name>.<variable-name>']]
  • Untuk strategi bergulir : $[dependencies.<job-name>.outputs['<lifecycle-hookname>_<resource-name>.<step-name>.<variable-name>']]
// Set an output variable in a lifecycle hook of a deployment job executing canary strategy
- deployment: A
  pool:
    vmImage: 'ubuntu-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 pembatalan perubahan penting

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

Otorisasi sumber daya yang disederhanakan dalam alur kerja 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, terjadi kegagalan 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 menjalankan, eksekusi akan menunggu izin pada sumber daya pada awal tahap yang menggunakan sumber daya. 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.

Mengevaluasi pemeriksaan artefak

Anda sekarang dapat menentukan serangkaian kebijakan dan menambahkan evaluasi kebijakan sebagai pemeriksaan lingkungan untuk artefak gambar kontainer. Saat sebuah alur kerja dijalankan, eksekusi akan berhenti sejenak sebelum memulai tahap yang menggunakan lingkungan. Kebijakan yang ditentukan dievaluasi terhadap metadata yang tersedia untuk gambar yang sedang disebarkan. Pemeriksaan lolos ketika kebijakan berhasil dan menandai tahap sebagai gagal jika pemeriksaan 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. Ini dapat mengakibatkan penyebaran gagal jika Anda memilih koneksi layanan cakupan yang lebih rendah untuk melakukan penyebaran templat ARM ke cakupan yang lebih luas. Sekarang, kami menambahkan pemfilteran koneksi layanan untuk memfilter koneksi layanan 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 bagaimana perubahan tersebut terlihat serta bekerja dengan layanan dependen lainnya sebelum digabungkan ke cabang utama dan disebarkan ke produksi. Ini akan memudahkan Anda untuk membuat dan mengelola reviewAplikasi sumber daya dan mendapat manfaat dari semua kemampuan penelusuran dan diagnosis fitur lingkungan. Dengan menggunakan reviewApp kata kunci, 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 cuplikan sampel YAML yang menggunakan reviewApp pada lingkungan.

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

Mengumpulkan metadata otomatis dan yang ditentukan pengguna dari alur

Sekarang Anda dapat mengaktifkan pengumpulan metadata otomatis dan yang ditentukan oleh pengguna dari tugas di dalam proses. Anda dapat menggunakan metadata untuk menerapkan kebijakan artefak pada lingkungan dengan memanfaatkan pemeriksaan artefak yang dievaluasi .

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

Penerapan VM dengan Lingkungan

Salah satu fitur yang paling banyak diminta di lingkungan adalah deploy VM. Dengan pembaruan ini, kami mengaktifkan sumber daya Komputer Virtual di Lingkungan. Anda sekarang dapat mengatur penyebaran di beberapa komputer dan melakukan pembaruan bergulir menggunakan alur YAML. Anda juga dapat menginstal agen di setiap server target Anda secara langsung dan mendorong penyebaran bergulir 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 bergulir menggantikan instans versi aplikasi sebelumnya dengan instans versi baru aplikasi pada sekumpulan komputer (set bergulir) di setiap iterasi.

Misalnya, contoh penyebaran bergulir berikut memperbarui hingga lima target dalam setiap perulangan. maxParallel akan menentukan jumlah target yang dapat disebarkan secara paralel. Pilihan mempertanggungjawabkan jumlah target yang harus tetap tersedia kapan saja, tidak termasuk target yang sedang disebarkan. 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...

Nota

Dengan pembaruan ini, semua artefak yang tersedia dari alur saat ini dan dari sumber daya alur terkait hanya diunduh dalam deploy lifecycle-hook. Namun, Anda dapat memilih untuk mengunduh dengan menentukan Unduh tugas Artefak Alur. Ada beberapa celah yang diketahui dalam fitur ini. Misalnya, ketika Anda mencoba kembali tahap, itu akan menjalankan kembali penyebaran pada semua VM bukan hanya target yang gagal. Kami berupaya menutup celah ini dalam pembaruan di masa mendatang.

Kontrol lebih terhadap penyebaran Anda

Azure Pipelines telah mendukung penyebaran yang dikontrol dengan persetujuan manual untuk beberapa waktu sekarang. 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 kemudian 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
  • Memanggil fungsi Azure dan melakukan validasi berdasarkan respons atau panggilan balik dari fungsi
  • Mengkueri aturan Azure Monitor untuk pemberitahuan aktif
  • Pastikan alur memperluas satu atau beberapa templat YAML

Cuplikan layar kotak dialog Tambahkan centang.

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 persetujuan dikirimi pemberitahuan email untuk persetujuan yang tertunda. Pengguna dan pemilik tim dapat menolak atau mengonfigurasi langganan kustom menggunakan pengaturan pemberitahuan .

Cuplikan layar pemberitahuan persetujuan.

Mengonfigurasi Strategi Penyebaran dari portal Microsoft Azure

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

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

Cuplikan layar yang memperlihatkan kotak dialog Pengiriman berkelanjutan.

Parameter waktu jalan

Parameter runtime memungkinkan Anda 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:

  • Berikan nilai yang berbeda ke 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.

Menggunakan perluas kata kunci dalam alur

Saat ini, alur dapat diperhitungkan ke dalam templat, mempromosikan 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 kata kunci memperluas untuk menunjukkan bahwa struktur alur utama dapat ditemukan di file lain. Ini menempatkan Anda dalam kontrol atas segmen apa yang dapat diperpanjang atau diubah dan segmen apa yang diperbaiki. Kami juga telah meningkatkan parameter alur dengan jenis data untuk memperjelas kait yang dapat Anda sediakan.

Contoh ini menggambarkan bagaimana Anda dapat menyediakan kait sederhana untuk digunakan penulis alur. Templat akan selalu menjalankan build, secara opsional akan menjalankan 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 diganti pada waktu antrean

Sebelumnya, Anda dapat menggunakan UI atau REST API untuk memperbarui nilai variabel apa pun sebelum memulai eksekusi baru. Meskipun penulis alur dapat menandai variabel tertentu sebagai _settable at queue time_, sistem tidak memberlakukan ini, dan juga tidak mencegah variabel lain ditetapkan. 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_.

Nota

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 mudah untuk mendapatkan bit kunci data ke berbagai bagian alur Anda. Dengan pembaruan ini, kami telah menambahkan beberapa variabel yang telah ditetapkan sebelumnya ke job penyebaran. Variabel ini secara otomatis diatur oleh sistem, terbatas pada pekerjaan penyebaran tertentu dan bersifat hanya-baca.

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

Memeriksa beberapa repositori

Pipeline sering mengandalkan beberapa repositori. Anda dapat memiliki repositori yang berbeda dengan sumber, alat, skrip, atau item lain yang Anda butuhkan untuk membangun kode Anda. 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 yang Anda gunakan untuk menyimpan alur 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 checkout multi-repo.

Mendapatkan detail saat runtime tentang beberapa repositori

Saat pipeline berjalan, Azure Pipelines menambahkan informasi tentang repositori, cabang, dan commit yang memicu eksekusi. Sekarang 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 Anda dapat memetakan ke dalam variabel. Misalnya:

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"

Perbolehkan referensi repositori ke 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. Misalnya:

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, akhirnya akan diperiksa.

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 dalam pipeline YAML. 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

Kustomize dan Kompose sebagai opsi build dalam tugas KubernetesManifest

kustomize (bagian dari Kubernetes sig-cli) memungkinkan Anda menyesuaikan file YAML mentah dan bebas templat untuk berbagai tujuan dan membiarkan YAML asli tetap tidak berubah. 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, task 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 Kemas dan terapkan diagram Helm menunjukkan kotak centang penggunaan kredensial admin kluster.

Input argumen dalam tugas Docker Compose

Bidang baru telah diperkenalkan dalam tugas Docker Compose untuk memungkinkan Anda menambahkan argumen seperti --no-cache. Argumen akan diteruskan oleh tugas saat menjalankan perintah, seperti perintah build.

Cuplikan layar tugas Docker Compose memperlihatkan kotak teks Argumen baru.

Penyempurnaan tugas rilis GitHub

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

Cuplikan layar memperlihatkan tugas rilis GitHub dengan Versi Tugas dan bagian Pola Tag diberi penekanan.

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 Bandingkan 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 kolom tipe changelog untuk memformat changelog. Berdasarkan seleksi, changelog akan menampilkan daftar komit atau daftar isu/PR yang dikategorikan berdasarkan label.

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

Buka tugas alat penginstal Agen Kebijakan

Agen Kebijakan Terbuka adalah mesin kebijakan sumber terbuka dan tujuan umum yang memungkinkan penegakan kebijakan terpadu dan sadar konteks. Kami telah menambahkan tugas 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 dalam 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 PowerShell dan PowerShell core ke tugas tersebut.

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

Penyebaran kenari berbasis Service Mesh Interface dalam tugas KubernetesManifest

Sebelumnya ketika strategi kenari ditentukan dalam tugas KubernetesManifest, tugas akan membuat beban kerja garis besar dan kenari yang replikanya sama dengan persentase replika yang digunakan untuk beban kerja yang stabil. Ini tidak persis sama dengan membagi lalu lintas menurut persentase yang diinginkan pada level permintaan. Untuk mengatasi hal ini, kami telah menambahkan dukungan untuk Service Mesh Interface dalam penyebaran berbasis kenari di tugas KubernetesManifest.

Abstraksi Antarmuka Jala Layanan mengizinkan konfigurasi plug-and-play dengan penyedia jala layanan seperti Linkerd dan Istio. Sekarang tugas KubernetesManifest menghilangkan kerja keras dalam memetakan objek TrafficSplit dari SMI ke layanan stabil, dasar, dan kanari selama siklus hidup strategi penyebaran. Pemisahan persentase lalu lintas yang diinginkan antara stabil, dasar, dan kenari lebih akurat karena pembagian persentase lalu lintas dikontrol pada permintaan di bidang jaringan layanan.

Berikut ini adalah contoh pelaksanaan penyebaran kanari yang berbasis SMI secara bergulir.

- 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 build atau rilis untuk menyalin file ke blob penyimpanan Microsoft atau komputer virtual (VM). Tugas ini menggunakan AzCopy, utilitas baris perintah yang dibangun 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 file rencana setelah menyalin
  • Lanjutkan kembali penyalinan jika tugas gagal

Kemampuan tambahan yang didukung dalam versi tugas ini adalah:

  • Simbol wildcard pada nama/jalur file sumber
  • Menyimpulkan jenis konten berdasarkan ekstensi file ketika tidak ada argumen yang disediakan
  • Menentukan tingkat verbositas log untuk file log dengan memberikan argumen

Meningkatkan keamanan alur dengan membatasi cakupan token akses

Setiap pekerjaan yang berjalan di Azure Pipelines mendapatkan token akses. Token akses digunakan oleh tugas dan oleh 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 dihasilkan untuk setiap pekerjaan, dan 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 pipeline adalah koleksi proyek tim. Anda dapat mengubah cakupan menjadi proyek tim dalam alur build klasik. Namun, Anda tidak memiliki kontrol tersebut untuk rilis klasik atau alur YAML. Dengan pembaruan ini, kami memperkenalkan pengaturan kumpulan untuk memaksa setiap pekerjaan mendapatkan token yang memiliki cakupan proyek, terlepas dari konfigurasi dalam alur. Kami juga menambahkan pengaturan di tingkat proyek. Sekarang, setiap proyek dan koleksi baru yang Anda buat akan secara otomatis mengaktifkan pengaturan ini.

    Nota

    Pengaturan koleksi mengambil alih pengaturan proyek.

    Menghidupkan pengaturan ini dalam proyek dan koleksi yang sudah ada dapat menyebabkan kegagalan pada alur tertentu jika alur Anda mengakses sumber daya di luar proyek tim dengan menggunakan token akses. Untuk mengurangi kegagalan alur, Anda dapat secara eksplisit memberikan akses Akun Layanan Project Build ke sumber daya yang diinginkan. Kami sangat menyarankan Agar Anda mengaktifkan pengaturan keamanan ini.

  • Batasi akses cakupan repos layanan build

    Membangun keamanan saluran dengan membatasi cakupan token akses, Azure Pipelines sekarang dapat mempersempit akses repositorinya hanya ke repositori yang diperlukan untuk saluran berbasis YAML . Ini berarti bahwa jika token akses dari pipeline bocor, token tersebut hanya akan dapat melihat repositori yang digunakan dalam pipeline tersebut. Sebelumnya, token akses berlaku untuk repositori Azure Repos apa pun dalam proyek, atau berpotensi untuk keseluruhan koleksi.

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

  • Menghapus izin tertentu untuk token akses

    Secara bawaan, kami memberikan sejumlah izin ke token akses, salah satu izin ini adalah Antre membangun. Dengan pembaruan ini, kami menghapus izin ini ke token akses. Jika alur Anda memerlukan izin ini, Anda dapat secara eksplisit memberikannya ke Project Build Service Account atau Project Collection Build Service Account 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 ditandai.

Penargetan tahap dan pemisahan perintah

Azure Pipelines mendukung menjalankan pekerjaan baik dalam kontainer atau di host agen. Sebelumnya, seluruh pekerjaan dialokasikan 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, mencegah kode membuat perubahan tak terduga pada komputer host. Cara langkah berkomunikasi dengan dan mengakses layanan dari agen tidak terpengaruh oleh pengisolasian 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 sebuah tahapan dari agen. Ini tidak akan lagi dapat melampirkan log, mengunggah artefak, dan operasi tertentu lainnya.

Berikut adalah contoh lengkap yang menunjukkan langkah-langkah yang dijalankan pada host dalam suatu kontainer pekerjaan, dan di dalam kontainer lainnya.

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

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

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 diterapkan pada koneksi satu per satu. 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 dengan aman dan aman.

Cuplikan layar yang memperlihatkan berbagi koneksi layanan lintas proyek.

Pelajari selengkapnya tentang berbagi koneksi layanan di sini.

Keterlacakan untuk jalur dan sumber daya ACR

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

Dalam tampilan ringkasan jalannya pipeline, Anda dapat melihat:

  • Versi sumber daya yang memicu eksekusi. Sekarang, pipeline Anda dapat dipicu ketika eksekusi pipeline Azure lain selesai atau ketika citra kontainer diunggah ke ACR.

    Cuplikan layar memperlihatkan bahwa alur secara otomatis dipicu.

  • menerapkan yang dikonsumsi oleh alur. Anda juga dapat menemukan rincian komitmen oleh setiap sumber daya yang dikonsumsi 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 selama run.

    Cuplikan layar memperlihatkan halaman Artefak untuk pipeline.

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

Cuplikan layar penerapan menurut bagian memperlihatkan tab

Dukungan untuk lampiran pengujian besar

Tugas menerbitkan hasil pengujian di Azure Pipelines memungkinkan Anda menerbitkan hasil pengujian saat pengujian dijalankan untuk memberikan pengalaman pelaporan dan analitik pengujian yang komprehensif. Hingga saat ini, ada batas 100MB untuk lampiran pengujian pada pelaksanaan uji coba dan hasil uji. Ini membatasi unggahan file besar seperti crash dump atau video. Dengan pembaruan ini, kami menambahkan dukungan untuk lampiran pengujian besar yang memungkinkan Anda memiliki semua data yang tersedia untuk memecahkan masalah pengujian yang gagal.

Anda mungkin melihat tugas VSTest atau tugas Penerbitan hasil pengujian yang menampilkan kesalahan 403 atau 407 di log. Jika Anda menggunakan build atau agen rilis yang dihost sendiri 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, kami sarankan Anda memperbarui firewall untuk permintaan keluar ke https://*.vstmrblob.vsassets.io. Anda dapat menemukan informasi pemecahan masalah dalam dokumentasi di sini. ​

Nota

Ini hanya diperlukan jika Anda menggunakan agen Azure Pipelines yang dihosting secara mandiri 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.

Perlihatkan 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 ini telah diselesaikan.

Pemicu Integrasi Berkelanjutan (CI) untuk cabang baru

Sudah menjadi permintaan yang telah lama tertunda untuk tidak memicu proses build CI saat cabang baru dibuat dan cabang tersebut tidak memiliki perubahan. Pertimbangkan contoh berikut:

  • Anda menggunakan antarmuka web untuk membuat cabang baru berdasarkan cabang yang ada. Ini akan segera mengaktifkan pembuatan CI baru jika filter cabang Anda cocok dengan nama cabang baru. 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 build baru jika perubahan telah didorong ke dokumen. Anda membuat cabang baru secara lokal, membuat beberapa perubahan pada dokumen, lalu mendorong cabang tersebut ke server. Kami dulu sering memicu build CI baru. Ini tidak diinginkan karena Anda secara eksplisit diminta 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 pada cabang baru guna mengatasi masalah ini. Saat Anda menerbitkan cabang baru, kami secara eksplisit mencari commit 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 beserta pekerjaan di dalamnya 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'].

Nota

Secara default, setiap tahap dalam alur kerja bergantung pada tahap yang sebelumnya di file YAML. Oleh karena itu, 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 tahap 3 membutuhkan variabel dari tahap 1, perlu mendeklarasikan dependensi eksplisit pada tahap 1.

Menonaktifkan peningkatan agen otomatis pada tingkat kumpulan

Saat ini, agen pipeline akan memperbarui secara otomatis ke versi terbaru jika diperlukan. Ini biasanya terjadi ketika ada fitur atau tugas baru yang memerlukan versi agen yang lebih baru untuk 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 tepat yang terhubung dengan kumpulan, jalur pemrosesan akan gagal dengan menampilkan 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 kami tidak menyarankan sebagian besar pelanggan menonaktifkannya.

Cuplikan layar halaman Pengaturan Default dengan menyorot opsi pengaturan pembaruan agen yang diaktifkan.

Agen diagnostik

Kami telah menambahkan diagnostik untuk banyak masalah terkait agen umum seperti banyak masalah jaringan dan penyebab umum kegagalan peningkatan. Untuk mulai menggunakan diagnostik, gunakan run.sh --diagnostik atau run.cmd --diagnostik di Windows.

Kait layanan untuk jalur pipa YAML

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

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

Cuplikan layar wizard LANGGANAN HOOKS LAYANAN BARU memperlihatkan daftar dropdown pemicu untuk jenis peristiwa ini dengan opsi tahap Pelaksanaan yang ditampilkan.

Integrasi yang dioptimalkan

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 menyebarkan dengan kecepatan 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 build dan rilis, sehingga Anda dapat terus mengulangi, meluncurkan fitur, dan meluncurkannya kembali menggunakan Azure Pipelines.

Pelajari selengkapnya tentang ekstensi Azure DevOps Optimizely di sini.

Optimizely

Menambahkan rilis GitHub sebagai sumber artefak

Sekarang Anda dapat menautkan rilis GitHub Anda sebagai sumber artefak di alur rilis Azure DevOps. Ini akan memungkinkan Anda menggunakan rilis GitHub sebagai bagian dari penyebaran Anda.

Saat Anda mengklik Tambah 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 untuk digunakan sebagai versi tag terbaru dan spesifik atau memilih pada waktu pembuatan rilis. Setelah rilis GitHub ditautkan, rilis tersebut secara otomatis diunduh dan disediakan dalam pekerjaan rilis Anda.

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

Integrasi Terraform dengan Azure Pipelines

Terraform adalah alat sumber terbuka untuk mengembangkan, mengubah, dan membuat versi infrastruktur dengan aman dan efisien. Terraform mengkodifikasi API ke dalam file konfigurasi deklaratif yang memungkinkan Anda menentukan dan memprovisikan infrastruktur menggunakan bahasa konfigurasi tingkat tinggi. Anda dapat menggunakan ekstensi Terraform untuk membuat sumber daya di semua 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, Anda mungkin memiliki aktivitas yang ingin diselesaikan pengguna Anda (misalnya, melakukan pembelian, mendaftar untuk buletin) dan/atau metrik yang ingin Anda tingkatkan (misalnya, pendapatan, durasi sesi, tingkat pantulan). Aktivitas ini memungkinkan Anda 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 mengulang, mempelajari, dan menyebarkan dengan kecepatan yang dipercepat dengan mengelola eksperimen secara berkelanjutan sambil mendapatkan semua manfaat DevOps dari Azure Pipelines.

Anda dapat mengunduh ekstensi eksperimen Google Analytics dari Marketplace.

Cuplikan layar yang menampilkan tugas Eksperimen Google Analytics.

Integrasi ServiceNow yang diperbarui dengan Azure Pipelines

Aplikasi Azure Pipelines untuk ServiceNow membantu mengintegrasikan Azure Pipelines dan ServiceNow Change Management. Dengan pembaruan ini, Anda dapat berintegrasi dengan ServiceNow versi New York. Autentikasi antara kedua layanan sekarang dapat dibuat 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 Azure Pipelines dari VSCode

Kami telah menambahkan fungsionalitas baru ke ekstensi Azure Pipelines untuk VSCode. Sekarang, Anda akan dapat membuat Azure Pipelines 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 yang tidak stabil

Kami memperkenalkan manajemen pengujian yang tidak konsisten untuk mendukung siklus hidup end-to-end dengan deteksi, pelaporan, dan resolusi. Untuk lebih meningkatkan hal ini, kami menambahkan manajemen dan penyelesaian bug uji flaky.

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

Ketika laporan bug diselesaikan atau ditutup, kami akan secara otomatis menghapus status pengujian sebagai tidak mudah pecah.

Atur tugas VSTest ke gagal jika jumlah minimum pengujian tidak dijalankan

Tugas VSTest menemukan dan menjalankan pengujian menggunakan input pengguna (file pengujian, kriteria filter, dan sebagainya) serta adaptor pengujian khusus untuk kerangka kerja pengujian yang digunakan. Perubahan pada input pengguna atau adaptor pengujian dapat menyebabkan kasus di mana pengujian tidak ditemukan dan hanya subset pengujian yang diharapkan yang dijalankan. Ini dapat menyebabkan situasi di mana alur berhasil karena pengujian dilewati daripada karena kode berkualitas tinggi. Untuk membantu menghindari situasi ini, kami telah menambahkan opsi baru dalam tugas VSTest yang memungkinkan Anda menentukan jumlah minimum pengujian yang harus dijalankan agar tugas 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 untuk memungkinkan Anda mengonfigurasi folder lain untuk 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 fitur markdown ke pesan kesalahan untuk pengujian otomatis. Sekarang Anda dapat dengan mudah memformat pesan kesalahan untuk uji coba dan hasil pengujian untuk meningkatkan keterbacaan dan memudahkan pengalaman pemecahan masalah kegagalan pengujian di Azure Pipelines. Sintaks markdown yang didukung dapat ditemukan di sini.

Cuplikan layar memperlihatkan dukungan markdown dalam pesan kesalahan pengujian otomatis.

Gunakan dekorator pipeline untuk menyuntikkan langkah-langkah secara otomatis dalam tugas penerapan

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

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

Rencana Pengujian

Halaman Paket Pengujian Baru

Halaman Paket Pengujian baru (Paket Pengujian *) tersedia untuk semua koleksi Azure DevOps. Halaman baru menyediakan tampilan yang disederhanakan untuk membantu Anda fokus pada tugas di tangan - perencanaan pengujian, penulisan, atau eksekusi. Ini juga bebas kekacauan dan konsisten dengan sisa penawaran Azure DevOps.

Cuplikan layar memperlihatkan dua rencana pengujian yang memiliki nama yang sama dan berbagi penyimpanan backend.

Bantu saya memahami halaman baru

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

  1. Header rencana pengujian: Gunakan ini untuk menemukan, membuat favorit, mengedit, menyalin, atau mengkloning rencana pengujian.
  2. Pohon suite pengujian: Gunakan ini untuk menambah, mengelola, mengekspor, atau mengurutkan suite pengujian. Manfaatkan ini untuk juga menetapkan konfigurasi dan melakukan pengujian penerimaan pengguna.
  3. Tentukan tab: Menyusun, menambahkan, dan mengelola kasus pengujian dalam rangkaian pengujian pilihan melalui tab ini.
  4. tab Jalankan: Tetapkan dan jalankan pengujian melalui tab ini atau temukan hasil pengujian untuk menelusuri.
  5. Tab Bagan: Lacak eksekusi dan status pengujian melalui bagan yang juga dapat disematkan ke dashboard.
  6. Kemampuan Pengembangan: Mendukung titik pengembangan yang ada saat ini dalam produk.

Mari kita lihat secara garis besar bagian baru di bawah ini.

1. Tajuk rencana pengujian

halaman header rencana uji

Tugas

Header Rencana Pengujian memungkinkan Anda melakukan tugas-tugas berikut:

  • Menandai rencana uji sebagai favorit
  • Batal tandai rencana uji favorit
  • Navigasikan dengan mudah di antara paket pengujian favorit Anda
  • Lihat jalur iterasi rencana pengujian, yang dengan jelas menunjukkan apakah rencana pengujian adalah Saat Ini atau Sebelumnya
  • Menampilkan ringkasan cepat laporan Kemajuan Pengujian dengan tautan untuk menavigasi ke laporan
  • Navigasikan kembali ke halaman Paket Pengujian Semua/Tambang

opsi menu kontekstual

Menu konteks pada header Paket Pengujian menyediakan opsi berikut:

  • Salin paket pengujian: Ini adalah opsi baru yang memungkinkan Anda menyalin paket pengujian saat ini dengan cepat. Detail selengkapnya di bawah ini.
  • Edit paket pengujian: Opsi ini memungkinkan Anda mengedit formulir item kerja Paket Pengujian untuk mengelola bidang item kerja.
  • Pengaturan paket pengujian: Opsi ini memungkinkan Anda mengonfigurasi pengaturan Uji Jalankan (untuk mengaitkan alur build atau rilis) dan pengaturan Hasil Pengujian

Menyalin rencana pengujian (kemampuan baru)

halaman salinan rencana pengujian

Sebaiknya buat Rencana Pengujian baru per sprint/rilis. Saat melakukannya, umumnya Rencana Pengujian untuk siklus sebelumnya dapat disalin dan dengan beberapa perubahan rencana pengujian yang disalin siap untuk siklus baru. Untuk mempermudah proses ini, kami telah mengaktifkan kemampuan 'Copy test plan' di halaman baru. Dengan memanfaatkannya, Anda dapat menyalin atau mengkloning rencana pengujian. REST API pendukungnya tercakup di sini dan API tersebut juga memungkinkan Anda menyalin atau mengkloning rencana pengujian di berbagai proyek.
Untuk panduan selengkapnya tentang penggunaan Paket Pengujian, lihat di sini.

2. Menguji pohon suite

halaman pohon suite pengujian

Tugas

Header rangkaian pengujian memungkinkan Anda melakukan tugas berikut:

  • Perluas/ciutkan: Opsi toolbar ini memungkinkan Anda memperluas atau menciutkan pohon hierarki rangkaian.
  • Tampilkan titik pengujian dari suite anak: Opsi toolbar ini hanya terlihat saat Anda berada di tab "Jalankan". Ini memungkinkan Anda untuk melihat semua titik pengujian untuk rangkaian tertentu dan anak-anaknya dalam satu tampilan untuk manajemen titik pengujian yang lebih mudah tanpa harus menavigasi ke suite individual satu per satu.
  • Urutan suite: Anda dapat menyeret/melepaskan suite untuk menyusun ulang urutan hierarki suite atau memindahkannya dari satu hierarki suite ke yang lain dalam rencana pengujian.

opsi menu konteks

Menu konteks pada pohon Test suites menyediakan opsi berikut:

  • Buat suite baru: Anda dapat membuat 3 jenis suite yang berbeda sebagai berikut:
    • Gunakan rangkaian statis atau rangkaian folder untuk mengatur pengujian Anda.
    • Gunakan rangkaian berbasis persyaratan untuk langsung menautkan ke persyaratan/cerita pengguna untuk keterlacakan yang lancar.
    • Gunakan berbasis kueri untuk mengatur kasus pengujian secara dinamis 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 suite ini.
  • Ekspor sebagai pdf/email: Ekspor properti rencana pengujian, properti rangkaian pengujian bersama dengan detail kasus uji dan titik uji sebagai "email" atau "cetak dalam format pdf".
  • Buka item kerja rangkaian pengujian: Opsi ini memungkinkan Anda 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) di mana pengujian yang sama perlu dijalankan/dijalankan oleh beberapa penguji, umumnya milik departemen yang berbeda.
  • Ganti Nama/Hapus: Opsi ini memungkinkan Anda mengelola nama suite atau menghapus rangkaian dan kontennya dari paket pengujian.

3. Tentukan tab

menentukan halaman tab

Tab Definisi memungkinkan Anda menyusun, menambahkan, dan mengelola kasus pengujian untuk rangkaian pengujian. Sedangkan tab eksekusi adalah untuk menetapkan titik pengujian dan menjalankannya.

Tab Define dan operasi tertentu hanya tersedia untuk pengguna dengan level akses Basic + Test Plans 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 menggunakan formulir item kerja: Opsi ini memungkinkan Anda membuat kasus pengujian baru menggunakan formulir item kerja. Kasus pengujian yang dibuat akan secara otomatis ditambahkan ke suite.
  • Tambahkan kasus pengujian Baru menggunakan kisi: Opsi ini memungkinkan Anda membuat satu atau beberapa kasus pengujian menggunakan tampilan kisi kasus pengujian. Kasus pengujian yang dibuat akan secara otomatis ditambahkan ke suite.
  • Menambahkan kasus pengujian yang ada menggunakan kueri: Opsi ini memungkinkan Anda menambahkan kasus pengujian yang ada ke rangkaian dengan menentukan kueri.
  • Menyusun kasus uji dengan menyeret/mengedrop: Anda dapat menyusun ulang kasus uji dengan menyeret/mengedrop satu atau beberapa kasus uji dalam rangkaian tertentu. Urutan kasus pengujian hanya berlaku untuk kasus pengujian manual dan bukan untuk pengujian otomatis.
  • Memindahkan test case dari satu rangkaian ke rangkaian lainnya: Menggunakan seret/letakkan, Anda dapat memindahkan test case dari satu rangkaian pengujian ke rangkaian pengujian lainnya.
  • Tampilkan kisi: Anda dapat menggunakan mode kisi untuk melihat dan mengedit kasus pengujian beserta langkah-langkah pengujian.
  • Tampilan layar penuh: Anda dapat melihat konten seluruh tab Tentukan dalam mode layar penuh 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 daftar dengan mengklik header kolom.
  • Opsi kolom: Anda dapat mengelola daftar kolom yang terlihat di tab Tentukan menggunakan "Opsi kolom". Daftar kolom yang tersedia untuk pilihan terutama adalah bidang dari formulir item kerja kasus pengujian.

opsi menu konteks

mendefinisikan halaman menu konteks tab

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

  • Buka/edit formulir item kerja kasus pengujian: Opsi ini memungkinkan Anda mengedit kasus Pengujian 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 di kisi: Opsi ini memungkinkan Anda mengedit kasus pengujian yang dipilih secara massal termasuk langkah-langkah pengujian menggunakan tampilan kisi.
  • Menetapkan konfigurasi: Opsi ini memungkinkan Anda 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 sekalipun.
  • Membuat salinan/klon kasus pengujian: Opsi ini memungkinkan Anda membuat salinan/klon kasus pengujian yang dipilih. Lihat di bawah ini untuk detail selengkapnya.
  • Menampilkan item tertaut: Opsi ini memungkinkan Anda melihat item tertaut untuk kasus pengujian tertentu. Lihat di bawah ini untuk detail selengkapnya.

menyalin/mengkloning kasus pengujian (kemampuan baru)

tentukan halaman tab kasus uji salinan

Untuk skenario di mana Anda ingin menyalin/mengkloning kasus pengujian, Anda dapat menggunakan opsi "Salin kasus pengujian". Anda dapat menentukan proyek tujuan, paket pengujian tujuan, dan rangkaian pengujian tujuan untuk membuat kasus pengujian salin/kloning. Selain itu, Anda juga dapat menentukan apakah Anda ingin menyertakan tautan/lampiran yang ada untuk mengalir ke salinan kloning.

Menampilkan item tertaut (kemampuan baru)

Keterlacakan di antara artefak pengujian, persyaratan, dan bug adalah proposisi nilai penting dari produk Rencana Pengujian. Dengan menggunakan opsi "Lihat item tertaut", Anda dapat dengan mudah melihat semua Persyaratan tertaut yang terkait dengan kasus uji ini, semua Paket dan Rencana Pengujian tempat kasus uji ini telah digunakan, dan semua bug yang diajukan selama eksekusi tes.

4. Jalankan tab

halaman tab eksekusi

Tab "Definisi" memungkinkan Anda menyusun, menambahkan, dan mengelola kasus pengujian untuk rangkaian pengujian. Sedangkan tab eksekusi adalah untuk menetapkan titik pengujian dan menjalankannya.

Apa itu titik uji? Kasus pengujian sendiri tidak dapat dieksekusi. Saat Anda menambahkan kasus pengujian ke rangkaian pengujian, titik pengujian akan dihasilkan. Titik pengujian adalah kombinasi unik dari kasus pengujian, rangkaian pengujian, konfigurasi, dan penguji. Contoh: jika Anda memiliki kasus pengujian "fungsi login" dan Anda menambahkan 2 konfigurasi seperti Edge dan Chrome, ini akan menghasilkan 2 titik pengujian. Sekarang titik pengujian ini dapat dijalankan. Saat pelaksanaan, hasil pengujian muncul. Melalui tampilan hasil pengujian (riwayat eksekusi) Anda dapat melihat semua eksekusi titik pengujian. Eksekusi terbaru untuk titik uji adalah yang Anda lihat di tab eksekusi.
Oleh karena itu, kasus pengujian adalah entitas yang dapat digunakan kembali. Dengan menyertakannya dalam paket 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 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 hak akses Paket Dasar + Rencana Pengujian atau yang setara. Yang lainnya, termasuk tab "Jalankan" harus dapat diolah oleh pengguna dengan tingkat akses 'Dasar'.

Tugas

Tab Jalankan memungkinkan Anda melakukan tugas berikut:

  • Menandai titik uji secara massal: Opsi ini memungkinkan Anda untuk dengan cepat menandai hasil titik pengujian - lulus, gagal, diblokir, atau tidak berlaku, tanpa harus menjalankan kasus pengujian melalui pengelola pengujian. Hasilnya dapat ditandai untuk satu atau beberapa titik pengujian sekaligus.
  • Jalankan titik pengujian: Opsi ini memungkinkan Anda menjalankan kasus pengujian dengan melalui setiap langkah pengujian satu per satu, dengan menandai setiap langkah lulus atau gagal menggunakan Test runner. 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 Build untuk pengujian yang ingin Anda lakukan.
  • Opsi kolom: Anda dapat mengelola daftar kolom yang terlihat di tab Jalankan menggunakan "Opsi kolom". Daftar kolom yang tersedia untuk dipilih dikaitkan dengan titik uji, seperti Dijalankan oleh, Penguji yang Ditugaskan, Konfigurasi, dll.
  • Tampilan layar penuh: Anda dapat melihat konten seluruh tab Jalankan dalam mode layar penuh 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 daftar dengan mengklik header kolom.

opsi menu konteks

jalankan halaman menu konteks tab

Menu konteks pada simpul Titik uji 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 poin pengujian: Sama seperti sebelumnya, memungkinkan Anda menjalankan kasus pengujian melalui alat uji.
  • Reset pengujian keaktif: Opsi ini memungkinkan Anda untuk mengatur ulang hasil pengujian menjadi aktif, sehingga mengabaikan hasil terakhir dari titik pengujian.
  • Buka/edit formulir item kerja kasus pengujian: Opsi ini memungkinkan Anda mengedit kasus Pengujian 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.
  • Melihat hasil pengujian: Opsi ini memungkinkan Anda melihat detail hasil pengujian terbaru termasuk hasil setiap langkah pengujian, komentar yang ditambahkan, atau bug yang diajukan.
  • Melihat riwayat eksekusi: Opsi ini memungkinkan Anda melihat seluruh riwayat eksekusi untuk titik pengujian yang dipilih. Ini membuka halaman baru di mana Anda dapat menyesuaikan filter untuk melihat riwayat eksekusi bukan hanya titik pengujian yang dipilih tetapi juga untuk seluruh kasus pengujian.

Laporan Kemajuan Rencana Pengujian

Laporan bawaan ini membantu Anda melacak pelaksanaan dan status satu atau lebih Rencana Tes dalam sebuah proyek. Kunjungi Test Plan > Laporan Kemajuan* agar bisa mulai menggunakan laporan tersebut.

Cuplikan layar bagian Rencana Pengujian dengan opsi Laporan kemajuan disorot.

Tiga bagian laporan meliputi yang berikut ini:

  1. Ringkasan: menunjukkan tampilan terkonsolidasi untuk paket pengujian yang dipilih.
  2. Tren hasil: merender rekam jepret harian untuk memberi Anda 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 paling detail setiap paket pengujian dan memberi Anda analitik penting untuk setiap rangkaian pengujian.

Cuplikan layar laporan Kemajuan.

Artefak

Nota

Azure DevOps Server 2020 tidak mengimpor umpan yang ada di keranjang sampah selama impor data. Jika Anda ingin mengimpor umpan yang berada di keranjang sampah, silakan pulihkan 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 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 yang menunjuk ke lisensi paket.

Mengklik tautan akan membawa Anda ke halaman web tempat Anda dapat 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 menampilkan teks lisensi MIT

Tugas autentikasi ringan

Anda sekarang dapat mengautentikasi dengan manajer paket populer dari Azure Pipelines menggunakan tugas autentikasi ringan. Ini termasuk NuGet, npm, PIP, Twine, dan Maven. Sebelumnya, Anda dapat mengautentikasi 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 Anda memiliki skrip Anda sendiri untuk dijalankan dalam melakukan tugas seperti menerbitkan atau mengunduh paket, Anda tidak akan dapat menggunakannya di Pipeline 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 "publish" dalam ilustrasi ini sewenang-wenang, Anda dapat menggunakan perintah apa pun yang didukung oleh YAML Azure Pipelines. Ini memungkinkan Anda untuk memiliki kontrol penuh atas pemanggilan perintah dan memudahkan penggunaan skrip bersama dalam konfigurasi alur Anda. Untuk informasi selengkapnya, silakan lihat NuGet, npm, PIP, Twine, dan dokumentasi tugas autentikasi Maven.

Penyempurnaan waktu pemuatan halaman umpan

Kami sangat senang mengumumkan bahwa kami telah meningkatkan waktu pemuatan halaman umpan. Rata-rata, waktu pemuatan halaman umpan telah menurun sebesar 10%. Umpan dengan waktu pemuatan terbesar mengalami peningkatan paling besar dalam waktu pemuatan halaman umpan pada persentil ke-99 (waktu muat dalam 99% tertinggi dari semua umpan) berkurang 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 bagi semua orang di internet tanpa autentikasi, baik apakah ada dalam koleksi Anda atau tidak, maupun jika masih belum 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 upstream dalam koleksi yang berbeda di penyewa Azure Active Directory

Sekarang Anda dapat menambahkan umpan di koleksi berbeda yang terkait dengan penyewa Azure Active Directory (AAD) Anda sebagai sumber hulu (upstream source) ke umpan Artefak Anda. Umpan Anda dapat menemukan dan menggunakan paket dari umpan yang dikonfigurasi sebagai sumber asal, memungkinkan paket untuk dibagikan dengan mudah di seluruh kumpulan yang terhubung dengan "AAD tenant" Anda. Lihat cara mengatur ini di dokumen.

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

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

Perpustakaan Azure Artifacts di Pengelola Paket Visual Studio

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

Diperbarui Sambungkan ke pengalaman umpan

Dialog menghubungkan ke umpan adalah pintu masuk untuk menggunakan Azure Artifacts; ini berisi informasi tentang cara mengonfigurasi klien dan repositori untuk mengunggah dan mengunduh paket dari umpan di Azure DevOps. Kami telah memperbarui dialog untuk menambahkan informasi pengaturan terperinci dan memperluas alat yang kami berikan instruksinya.

Umpan publik sekarang umum tersedia dengan dukungan upstream

Pratinjau publik umpan publik telah menerima penerimaan dan umpan balik yang positif. Dalam rilis ini, kami memperluas fitur tambahan ke ketersediaan umum. Sekarang, Anda dapat mengatur umpan publik sebagai sumber hulu dari umpan privat. Anda dapat menjaga file konfigurasi Anda tetap sederhana dengan dapat melakukan upstream baik ke maupun dari umpan privat dan cakupan proyek.

Membuat umpan cakupan proyek dari portal

Ketika kami 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 dan kemudian menjadikan proyek tersebut 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 terlingkup dalam menu pemilih umpan.

peningkatan kinerja npm

Kami telah membuat perubahan pada desain inti kami untuk meningkatkan cara kami menyimpan dan mengirimkan paket npm di umpan Azure Artifacts. 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 yang berikut ini:

  • Membuat pengalaman umpan
  • Pengalaman pengaturan umpan global
  • Menyambungkan ke pengalaman umpan

Wiki

Pengeditan canggih untuk halaman wiki kode

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

Sekarang Anda dapat mengedit halaman wiki kode di editor berdampingan di dalam wiki. Ini memungkinkan Anda menggunakan toolbar markdown yang kaya untuk membuat konten Anda membuat pengalaman pengeditan yang identik dengan yang ada di wiki proyek. Anda masih dapat memilih untuk mengedit di repositori dengan memilih opsi edit di Repos di menu konteks.

Cuplikan layar memperlihatkan menu Edit dengan opsi Edit di Repositori yang disorot.

Membuat dan menyematkan item kerja dari halaman wiki

Saat kami mendengarkan umpan balik Anda, kami mendengar bahwa Anda menggunakan wiki untuk mencatat dokumen curah pendapat, dokumen perencanaan, ide tentang fitur, dokumen spesifikasi, notulen 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. Ini menghemat waktu Anda karena Anda tidak perlu membuat item kerja terlebih dahulu, buka mengedit lalu temukan 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 memiliki cara untuk berinteraksi dengan pengguna wiki lain di dalam wiki. Ini membuat kolaborasi dalam konten dan mendapatkan jawaban atas pertanyaan menjadi tantangan karena percakapan harus terjadi melalui email atau platform obrolan. Dengan komentar, Anda sekarang dapat berkolaborasi dengan orang lain langsung dalam wiki. Anda dapat memanfaatkan fungsionalitas pengguna @mention di dalam komentar untuk menarik perhatian anggota tim lain. Fitur ini 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 memperlihatkan 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 diprioritaskan berdasarkan tiket usulan ini .

URL halaman Wiki yang pendek dan dapat dibaca

Anda tidak perlu lagi 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 Selamat Datang di Wiki Azure DevOps:

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

Ini diprioritaskan berdasarkan tiket saran fitur ini dari Komunitas Pengembang.

Gulir sinkron untuk mengedit halaman wiki

Mengedit halaman wiki sekarang lebih mudah dengan gulir sinkron antara panel edit dan pratinjau. Menggeser di satu sisi akan secara otomatis menggeser sisi lain untuk memetakan bagian terkait. Anda dapat menonaktifkan gulir sinkron dengan tombol alihkan.

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

Nota

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 Anda serta membuat dashboard untuk mendapatkan wawasan tertentu seperti halaman 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.

Nota

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

Pelaporan

Laporan kegagalan dan durasi jalur

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

  1. Laporan kegagalan alur menunjukkan tingkat pass build dan tren kegagalan. Selain itu, 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 tingkat keberhasilan Alur, lencana tingkat keberhasilan pengujian, dan lencana durasi Alur.

Cuplikan layar memperlihatkan laporan kegagalan Alur.

  1. Laporan durasi pipeline menunjukkan tren waktu yang diperlukan pipeline untuk berjalan. Ini juga menunjukkan tugas mana dalam alur kerja yang memakan waktu paling lama.

Penyempurnaan widget Hasil Kueri

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

Dengan pembaruan ini, kami menyertakan banyak peningkatan yang ditunggu-tunggu:

  • Anda sekarang dapat memilih kolom sebanyak yang ingin Anda tampilkan di widget. Tidak ada batas 5 kolom lagi!
  • 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. Ketika diperluas, semua kolom yang dihasilkan oleh kueri akan ditampilkan.

Penyaringan tingkat lanjut widget Lead Time dan Waktu Siklus

Waktu tunggu dan siklus digunakan oleh tim untuk melihat berapa lama waktu yang dibutuhkan untuk aliran pekerjaan melalui alur pengembangan mereka, dan pada akhirnya memberikan nilai kepada pelanggan mereka.

Hingga saat ini, widget lead dan waktu siklus tidak mendukung kriteria filter tingkat lanjut untuk mengajukan pertanyaan seperti: "berapa lama waktu yang dibutuhkan tim saya untuk menyelesaikan item dengan prioritas lebih tinggi?"

Dengan pertanyaan pembaruan seperti ini dapat dijawab dengan memfilter pada papan renang.

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 yang disebutkan.

Burndown sprint dalam garis menggunakan poin cerita

Sprint Burndown Anda sekarang dapat dibakar oleh Stories. 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 untuk mengurangi pada Jumlah Poin Cerita

Cuplikan layar memperlihatkan grafik burndown sprint sebaris dalam titik cerita.

Widget Sprint Burndown dengan semua yang Anda minta

Widget Sprint Burndown baru mendukung pembakaran berdasarkan Titik Cerita, jumlah Tugas, atau dengan menjumlahkan bidang kustom. Anda bahkan dapat membuat grafik burndown sprint untuk Fitur atau Epos. Widget menampilkan rata-rata burndown, % selesai, dan peningkatan cakupan. Anda dapat mengonfigurasi tim sehingga Anda dapat menampilkan burndown sprint untuk beberapa tim di dasbor yang sama. Dengan semua informasi hebat ini untuk ditampilkan, kami memungkinkan Anda 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.

Nota

Widget baru menggunakan Analytics. Kami menyimpan Sprint Burndown versi lama jika Anda tidak memiliki akses ke analitik.

Gambar mini burndown sprint dalam garis

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

Cuplikan layar memperlihatkan gambar mini burndown sprint sebaris.

Mengklik 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 tercermin dalam bagan yang ditampilkan di header. Jadi Anda sekarang dapat mengonfigurasinya untuk burndown berdasarkan cerita, titik cerita, atau berdasarkan jumlah tugas, bukan hanya jumlah pekerjaan yang tersisa.

Membuat dasbor tanpa tim

Sekarang Anda dapat membuat dasbor tanpa mengaitkannya dengan tim. Saat membuat dasbor, pilih Jenis Dasbor Proyek.

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

Dasbor Proyek seperti Dasbor Tim, kecuali dasbor tersebut tidak terkait dengan Tim dan Anda dapat memutuskan siapa yang dapat mengedit/mengelola dasbor. Sama seperti Dasbor Tim, ini terlihat oleh semua orang dalam proyek.

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

Cuplikan layar dropdown Timnya.

Nota

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 untuk memungkinkan Anda memilih tim.


Umpan Balik

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


Atas Halaman