Catatan Rilis Azure DevOps Server 2020
Komunitas Pengembang | Persyaratan Sistem | Ketentuan Lisensi | DevOps Blog | SHA-1 Hashes
Dalam artikel ini, Anda akan menemukan informasi mengenai rilis terbaru untuk Azure DevOps Server.
Untuk mempelajari selengkapnya tentang penginstalan atau peningkatan penyebaran Azure DevOps Server, lihat Persyaratan Azure DevOps Server. Untuk mengunduh produk Azure DevOps, kunjungi halaman Unduhan Azure DevOps Server.
Peningkatan langsung ke Azure DevOps Server 2020 didukung dari Azure DevOps Server 2019 atau Team Foundation Server 2015 atau yang lebih baru. Jika penyebaran TFS menggunakan TFS 2010 atau yang lebih lama, Anda perlu melakukan beberapa langkah sementara sebelum meningkatkan ke Azure DevOps Server 2019. Untuk mempelajari selengkapnya, lihat Menginstal dan mengonfigurasi Azure DevOps lokal.
Melakukan Peningkatan dengan Aman dari Azure DevOps Server 2019 ke Azure DevOps Server 2020
Azure DevOps Server 2020 memperkenalkan model retensi eksekusi alur (build) baru yang berfungsi berdasarkan pengaturan tingkat proyek.
Azure DevOps Server 2020 menangani retensi build secara berbeda, berdasarkan kebijakan retensi tingkat alur. Konfigurasi kebijakan tertentu menyebabkan eksekusi alur dihapus setelah peningkatan. Eksekusi alur yang telah dipertahankan secara manual atau dipertahankan oleh rilis tidak akan dihapus setelah peningkatan.
Baca posting blog kami untuk informasi lebih lanjut tentang cara meningkatkan dengan aman dari Azure DevOps Server 2019 ke Azure DevOps Server 2020.
Azure DevOps Server 2020 Pembaruan 0.2 Patch 6 Tanggal Rilis: 14 November 2023
Kami telah merilis patch untuk Azure DevOps Server 2020 Update 0.2 yang menyertakan perbaikan untuk hal berikut.
- Memperluas daftar karakter yang diizinkan tugas PowerShell untuk validasi parameter Aktifkan argumen tugas shell.
Catatan
Untuk menerapkan perbaikan untuk patch ini, Anda harus mengikuti sejumlah langkah untuk memperbarui tugas secara manual.
Menginstal patch
Penting
Kami merilis pembaruan untuk agen Azure Pipelines dengan Patch 4 dirilis pada 12 September 2023. Jika Anda tidak menginstal pembaruan agen seperti yang dijelaskan dalam catatan rilis untuk Patch 4, kami sarankan Anda menginstal pembaruan ini sebelum menginstal Patch 6. Versi baru agen setelah menginstal Patch 4 adalah 3.225.0.
Mengonfigurasi TFX
- Ikuti langkah-langkah dalam dokumentasi pengumpulan tugas unggahan ke proyek untuk menginstal dan masuk dengan tfx-cli.
Memperbarui tugas menggunakan TFX
File | SHA-256 Hash |
---|---|
Tasks20231103.zip | 389BA66EEBC32622FB83402E21373CE20AE040F70461B9F9AF9EFCED5034D2E5 |
- Unduh dan ekstrak Tasks20231103.zip.
- Ubah direktori menjadi file yang diekstrak.
- Jalankan perintah berikut untuk mengunggah tugas:
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.230.0.zip
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip
tfx build tasks upload --task-zip-path PowerShellV2.2.230.0.zip
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.230.0.zip
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.230.0.zip
Persyaratan Alur
Untuk menggunakan perilaku baru, variabel AZP_75787_ENABLE_NEW_LOGIC = true
harus diatur dalam alur yang menggunakan tugas yang terpengaruh.
Pada klasik:
Tentukan variabel di tab variabel di alur.
Contoh YAML:
variables:
- name: AZP_75787_ENABLE_NEW_LOGIC
value: true
Azure DevOps Server 2020 Pembaruan 0.2 Patch 5 Tanggal Rilis: 10 Oktober 2023
Penting
Kami merilis pembaruan untuk agen Azure Pipelines dengan Patch 4 dirilis pada 12 September 2023. Jika Anda tidak menginstal pembaruan agen seperti yang dijelaskan dalam catatan rilis untuk Patch 4, kami sarankan Anda menginstal pembaruan ini sebelum menginstal Patch 5. Versi baru agen setelah menginstal Patch 4 adalah 3.225.0.
Kami telah merilis patch untuk Azure DevOps Server 2020 Update 0.2 yang menyertakan perbaikan untuk hal berikut.
- Memperbaiki bug di mana identitas "Pemilik Analisis" menunjukkan sebagai Identitas Tidak Aktif pada mesin peningkatan patch.
Azure DevOps Server 2020 Update 0.2 Patch 4 Tanggal Rilis: 12 September 2023
Kami telah merilis patch untuk Azure DevOps Server 2020 Update 0.2 yang menyertakan perbaikan untuk hal berikut.
- CVE-2023-33136: Azure DevOps Server Kerentanan Eksekusi Kode Jarak Jauh.
- CVE-2023-38155: Azure DevOps Server dan Team Foundation Server Elevation of Privilege Vulnerability.
Penting
Sebarkan patch ke lingkungan pengujian dan pastikan bahwa alur lingkungan berfungsi seperti yang diharapkan sebelum menerapkan perbaikan pada produksi.
Catatan
Untuk menerapkan perbaikan untuk patch ini, Anda harus mengikuti sejumlah langkah untuk memperbarui agen dan tugas secara manual.
Menginstal patch
- Unduh dan instal Azure DevOps Server 2020 Update 0.2 patch 4.
Memperbarui agen Azure Pipelines
- Unduh agen dari: https://github.com/microsoft/azure-pipelines-agent/releases/tag/v3.225.0 - Agent_20230825.zip
- Gunakan langkah-langkah yang diuraikan dalam dokumentasi agen Windows yang dihost sendiri untuk menyebarkan agen.
Catatan
AZP_AGENT_DOWNGRADE_DISABLED harus diatur ke "true" untuk mencegah agen diturunkan tingkatnya. Di Windows, perintah berikut dapat digunakan dalam prompt perintah administratif, diikuti dengan boot ulang. setx AZP_AGENT_DOWNGRADE_DISABLED true /M
Mengonfigurasi TFX
- Ikuti langkah-langkah dalam dokumentasi pengumpulan tugas unggahan ke proyek untuk menginstal dan masuk dengan tfx-cli.
Memperbarui tugas menggunakan TFX
- Unduh dan ekstrak Tasks_20230825.zip.
- Ubah direktori menjadi file yang diekstrak.
- Jalankan perintah berikut untuk mengunggah tugas:
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.226.3.zip
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.226.2.zip
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.226.2.zip
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.226.2.zip
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.226.2.zip
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip
tfx build tasks upload --task-zip-path PowerShellV2.2.226.1.zip
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.226.2.zip
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.226.2.zip
Persyaratan Alur
Untuk menggunakan perilaku baru, variabel AZP_75787_ENABLE_NEW_LOGIC = true
harus diatur dalam alur yang menggunakan tugas yang terpengaruh.
Pada klasik:
Tentukan variabel di tab variabel di alur.
Contoh YAML:
variables:
- name: AZP_75787_ENABLE_NEW_LOGIC
value: true
Azure DevOps Server 2020 Update 0.2 Patch 3 Tanggal Rilis: 8 Agustus 2023
Kami telah merilis patch untuk Azure DevOps Server 2020 Update 0.2 yang menyertakan perbaikan untuk hal berikut.
- Memperbaiki bug yang mengganggu paket pendorongan saat meningkatkan dari 2018 atau yang lebih lama.
Azure DevOps Server 2020 Update 0.2 Patch 2 Tanggal Rilis: 13 Juni 2023
Kami telah merilis patch untuk Azure DevOps Server 2020 Update 0.2 yang menyertakan perbaikan untuk hal berikut.
- Memperbaiki bug yang mengganggu paket pendorongan saat meningkatkan dari 2018 atau yang lebih lama.
Azure DevOps Server 2020 Pembaruan 0.2 Patch 1 Tanggal Rilis: 18 Oktober 2022
Kami telah merilis patch untuk Azure DevOps Server 2020 Update 0.2 yang menyertakan perbaikan untuk hal berikut.
- Atasi masalah dengan identitas AD yang baru ditambahkan tidak muncul di pemilih identitas dialog keamanan.
- Perbaiki masalah dengan filter Diminta oleh Anggota Grup di pengaturan webhook.
- Memperbaiki kesalahan build check-in Gated saat pengaturan Organisasi untuk alur memiliki cakupan otorisasi pekerjaan yang dikonfigurasi sebagai Batasi cakupan otorisasi pekerjaan ke proyek saat ini untuk alur non-rilis.
Azure DevOps Server 2020.0.2 Tanggal Rilis: 17 Mei 2022
Azure DevOps Server 2020.0.2 adalah serangkaian perbaikan bug. Anda dapat langsung menginstal Azure DevOps Server 2020.0.2 atau meningkatkan dari Azure DevOps Server 2020 atau Team Foundation Server 2013 atau yang lebih baru.
Catatan
Alat Migrasi Data akan tersedia untuk Azure DevOps Server 2020.0.2 sekitar tiga minggu setelah rilis ini. Anda dapat melihat daftar versi yang saat ini didukung untuk pengimporan di sini.
Rilis ini mencakup perbaikan untuk hal berikut:
Tidak dapat melewati antrean build menggunakan tombol "Jalankan berikutnya". Sebelumnya, tombol "Jalankan berikutnya" diaktifkan hanya untuk administrator kumpulan proyek.
Cabut semua token akses pribadi setelah akun Active Directory pengguna dinonaktifkan.
Tanggal Rilis Patch 9 Azure DevOps Server 2020.0.1: 26 Januari 2022
Kami telah merilis patch untuk Azure DevOps Server 2020.0.1 yang mencakup perbaikan untuk hal berikut.
- Pemberitahuan email tidak dikirim saat menggunakan kontrol @mention di item kerja.
- Perbaiki kesalahan TF400813 saat beralih akun. Kesalahan ini terjadi ketika peningkatan dilakukan dari TFS 2018 ke Azure DevOps Server 2020.0.1.
- Perbaiki masalah dengan halaman ringkasan Gambaran Umum Proyek yang gagal dimuat.
- Peningkatan sinkronisasi pengguna Active Directory.
- Mengatasi kerentanan Elasticsearch dengan menghapus kelas jndilookup dari biner log4j.
Langkah-langkah penginstalan
- Tingkatkan server dengan Patch 9.
- 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). - Jalankan perintah pembaruan
PS C:\Program Files\{TFS Version Folder}\Search\zip> .\Configure-TFSSearch.ps1 -Operation update
seperti yang disediakan dalam file readme. Ini mungkin mengembalikan peringatan seperti: Tidak dapat tersambung ke server jarak jauh. Jangan tutup jendela, karena pembaruan sedang melakukan percobaan ulang hingga selesai.
Catatan
Jika Azure DevOps Server dan Elasticsearch diinstal pada komputer yang berbeda, ikuti langkah-langkah yang diuraikan di bawah ini.
- Tingkatkan server dengan Patch 9.
- 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). - Salin konten folder bernama zip, yang terletak di
C:\Program Files\{TFS Version Folder}\Search\zip
ke folder file jarak jauh Elasticsearch. - Jalankan
Configure-TFSSearch.ps1 -Operation update
di komputer server Elasticsearch.
SHA-256 Hash: B0C05A972C73F253154AEEB7605605EF2E596A96A3720AE942D7A9DDD881545E
Tanggal Rilis Patch 8 Azure DevOps Server 2020.0.1: 15 Desember 2021
Patch 8 untuk Azure DevOps Server 2020.0.1 mencakup perbaikan untuk hal berikut.
- Masalah pelokalan untuk status tata letak item kerja kustom.
- Masalah pelokalan dalam templat pemberitahuan email.
- Masalah dengan log konsol terpotong ketika ada beberapa tautan identik secara berurutan.
- Masalah dengan evaluasi aturan NOTSAMEAS ketika beberapa aturan NOTSAMEAS ditentukan untuk suatu bidang.
Tanggal Rilis Patch 7 Azure DevOps Server 2020.0.1: 26 Oktober 2021
Patch 7 untuk Azure DevOps Server 2020.0.1 mencakup perbaikan untuk hal berikut.
- Sebelumnya, Azure DevOps Server hanya dapat membuat koneksi ke GitHub Enterprise Server. Dengan patch ini, administrator proyek dapat membuat koneksi antara Azure DevOps Server dan repositori di GitHub.com. Anda dapat menemukan pengaturan ini di halaman koneksi GitHub di bawah Pengaturan Proyek.
- Mengatasi masalah dengan widget Test Plan. Laporan eksekusi pengujian menunjukkan pengguna yang salah pada hasil.
- Memperbaiki masalah dengan halaman ringkasan Gambaran Umum Proyek yang gagal dimuat.
- Memperbaiki masalah dengan email yang tidak terkirim untuk mengonfirmasi peningkatan produk.
Tanggal Rilis Patch 6 Azure DevOps Server 2020.0.1: 14 September 2021
Patch 6 untuk Azure DevOps Server 2020.0.1 mencakup perbaikan untuk hal berikut.
- Memperbaiki kegagalan pengunduhan/pengunggahan Artefak.
- Mengatasi masalah dengan data Hasil Pengujian yang tidak konsisten.
Tanggal Rilis Patch 5 Azure DevOps Server 2020.0.1: 10 Agustus 2021
Patch 5 untuk Azure DevOps Server 2020.0.1 mencakup perbaikan untuk hal berikut.
- Memperbaiki kesalahan UI definisi kompilasi.
- Mengubah riwayat penjelajahan untuk menampilkan file alih-alih repositori akar.
- Perbaiki masalah dengan pekerjaan pengiriman email untuk beberapa jenis item kerja.
Tanggal Rilis Patch 4 Azure DevOps Server 2020.0.1: 15 Juni 2021
Patch 4 untuk Azure DevOps Server 2020.0.1 mencakup perbaikan untuk hal berikut.
- Memperbaiki masalah dengan impor data. Impor data memakan waktu lama bagi pelanggan yang memiliki banyak kasus pengujian kedaluwarsa. Hal ini disebabkan oleh referensi yang meningkatkan ukuran
tbl_testCaseReferences
tabel. Dengan patch ini, kami menghapus referensi ke kasus pengujian kedaluwarsa untuk membantu mempercepat proses impor data.
Tanggal Rilis Patch 3 Azure DevOps Server 2020.0.1: 11 May 2021
Kami telah merilis patch untuk Azure DevOps Server 2020.0.1 yang memperbaiki hal berikut.
- Data Hasil Pengujian yang Tidak Konsisten saat menggunakan Microsoft.TeamFoundation.TestManagement.Client.
Jika Anda memiliki Azure DevOps Server 2020.0.1, Anda harus menginstal Azure DevOps Server 2020.0.1 Patch 3.
Memverifikasi Penginstalan
Opsi 1: Jalankan
devops2020.0.1patch3.exe CheckInstall
, devops2020.0.1patch3.exe adalah file yang diunduh dari tautan di atas. Output perintah akan mengatakan bahwa patch telah diinstal, atau tidak diinstal.Opsi 2: Periksa versi file berikut:
[INSTALL_DIR]\Azure DevOps Server 2020\Application Tier\bin\Microsoft.Teamfoundation.Framework.Server.dll
. Azure DevOps Server 2020.0.1 diinstal secarac:\Program Files\Azure DevOps Server 2020
default. Setelah menginstal Azure DevOps Server 2020.0.1 Patch 3, versinya adalah 18.170.31228.1.
Tanggal Rilis Patch 2 Azure DevOps Server 2020.0.1: 13 April 2021
Catatan
Jika Anda memiliki Azure DevOps Server 2020, Anda harus terlebih dahulu memperbarui ke Azure DevOps Server 2020.0.1 . Setelah pada 2020.0.1, instal Azure DevOps Server 2020.0.1 Patch 2
Kami telah merilis patch untuk Azure DevOps Server 2020.0.1 yang memperbaiki hal berikut.
- CVE-2021-27067: Pengungkapan informasi
- CVE-2021-28459: Elevasi hak istimewa
Untuk menerapkan perbaikan pada patch ini, Anda harus mengikuti langkah-langkah yang tercantum di bawah ini untuk penginstalan patch umum, penginstalan tugas AzureResourceGroupDeploymentV2 dan AzureResourceManagerTemplateDeploymentV3.
Penginstalan patch umum
Jika Anda memiliki Azure DevOps Server 2020.0.1, Anda harus menginstal Azure DevOps Server 2020.0.1 Patch 2.
Memverifikasi Penginstalan
Opsi 1: Jalankan
devops2020.0.1patch2.exe CheckInstall
, devops2020.0.1patch2.exe adalah file yang diunduh dari tautan di atas. Output perintah akan mengatakan bahwa patch telah diinstal, atau tidak diinstal.Opsi 2: Periksa versi file berikut:
[INSTALL_DIR]\Azure DevOps Server 2020\Application Tier\bin\Microsoft.Teamfoundation.Framework.Server.dll
. Azure DevOps Server 2020.0.1 diinstal secarac:\Program Files\Azure DevOps Server 2020
default. Setelah menginstal Azure DevOps Server 2020.0.1 Patch 2, versinya adalah 18.170.31123.3.
Penginstalan tugas AzureResourceGroupDeploymentV2
Catatan
Semua langkah yang disebutkan di bawah ini perlu dilakukan pada komputer Windows
Instal
Ekstrak paket AzureResourceGroupDeploymentV2.zip ke folder baru di komputer Anda. Misalnya: D:\tasks\AzureResourceGroupDeploymentV2.
Unduh dan instal Node.js 14.15.1 dan npm (disertakan dengan unduhan Node.js) sesuai dengan komputer Anda.
Buka perintah dalam mode administrator dan jalankan perintah berikut untuk menginstal tfx-cli.
npm install -g tfx-cli
Buat token akses pribadi dengan hak istimewa Akses penuh dan salin token tersebut. Token akses Pribadi ini akan digunakan saat menjalankan perintah login tfx.
Jalankan hal berikut ini dari perintah. Saat diminta, masukkan URL Layanan dan token akses Pribadi.
~$ tfx login
Copyright Microsoft Corporation
> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully
- Jalankan perintah berikut untuk mengunggah tugas di server. Gunakan jalur file .zip yang diekstrak dari langkah 1.
~$ tfx build tasks upload --task-path *<Path of the extracted package>*
Penginstalan tugas AzureResourceManagerTemplateDeploymentV3
Catatan
Semua langkah yang disebutkan di bawah ini perlu dilakukan pada komputer Windows
Instal
Ekstrak paket AzureResourceManagerTemplateDeploymentV3.zip ke folder baru di komputer Anda. Misalnya:D:\tasks\AzureResourceManagerTemplateDeploymentV3.
Unduh dan instal Node.js 14.15.1 dan npm (disertakan dengan unduhan Node.js) yang sesuai untuk komputer Anda.
Buka perintah dalam mode administrator dan jalankan perintah berikut untuk menginstal tfx-cli.
npm install -g tfx-cli
Buat token akses pribadi dengan hak istimewa Akses penuh dan salin token tersebut. Token akses Pribadi ini akan digunakan saat menjalankan perintah login tfx.
Jalankan hal berikut ini dari perintah. Saat diminta, masukkan URL Layanan dan token akses Pribadi.
~$ tfx login
Copyright Microsoft Corporation
> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully
- Jalankan perintah berikut untuk mengunggah tugas di server. Gunakan jalur file .zip yang diekstrak dari langkah 1.
~$ tfx build tasks upload --task-path *<Path of the extracted package>*
Tanggal Rilis Patch 1 Azure DevOps Server 2020.0.1: 9 Februari 2021
Kami telah merilis patch untuk Azure DevOps Server 2020.0.1 yang memperbaiki hal berikut. Silakan lihat posting blog untuk informasi selengkapnya.
- Atasi masalah yang dilaporkan dalam tiket umpan balik Komunitas Pengembang ini| Tombol Kasus Pengujian Baru tidak berfungsi
- Sertakan perbaikan yang dirilis dengan Azure DevOps Server 2020 Patch 2.
Tanggal Rilis Patch 3 Azure DevOps Server 2020: 9 Februari 2021
Kami telah merilis patch untuk Azure DevOps Server 2020 yang memperbaiki hal berikut. Silakan lihat posting blog untuk informasi selengkapnya.
- Atasi masalah yang dilaporkan dalam 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 akumulasi perbaikan bug. Anda dapat langsung menginstal Azure DevOps Server 2020.0.1 atau melakukan peningkatan dari penginstalan yang ada. Versi yang didukung untuk peningkatan adalah Azure DevOps Server 2020, Azure DevOps Server 2019, dan Team Foundation Server 2012 atau yang lebih baru.
Rilis ini mencakup perbaikan untuk bug berikut:
- Atasi masalah peningkatan dari Azure DevOps Server 2019 ketika proksi Git mungkin berhenti berfungsi setelah peningkatan.
- Perbaiki pengecualian System.OutOfMemoryException untuk koleksi non-ENU sebelum Team Foundation Server 2017 saat meningkatkan ke Azure DevOps Server 2020. Menyelesaikan masalah yang dilaporkan dalam tiket umpan balik Komunitas Pengembang ini.
- Kegagalan layanan disebabkan oleh hilangnya Microsoft.Azure.DevOps.ServiceEndpoints.Sdk.Server.Extensions.dll. Menyelesaikan masalah yang dilaporkan dalam tiket umpan balik Komunitas Pengembang ini.
- Perbaiki kesalahan nama kolom yang tidak valid di Analytics saat melakukan peningkatan ke Azure DevOps Server 2020. Menyelesaikan masalah yang dilaporkan dalam tiket umpan balik Komunitas Pengembang ini.
- XSS yang disimpan saat menampilkan langkah-langkah kasus pengujian dalam hasil kasus pengujian.
- Tingkatkan kegagalan langkah saat memigrasikan data hasil poin ke TCM.
Tanggal Rilis Patch 2 Azure DevOps Server 2020: 12 Januari 2021
Kami telah merilis patch untuk Azure DevOps Server 2020 yang memperbaiki hal berikut. Silakan lihat posting blog untuk informasi selengkapnya.
- Detail eksekusi pengujian tidak menampilkan detail langkah pengujian untuk data pengujian yang dimigrasikan menggunakan Migrasi OpsHub
- Pengecualian pada penginisialisasi untuk 'Microsoft.TeamFoundation.TestManagement.Server.TCMLogger'
- Build yang tidak dipertahankan segera dihapus setelah migrasi ke Azure DevOps Server 2020
- Memperbaiki pengecualian penyedia data
Tanggal Rilis Patch 1 Azure DevOps Server 2020: 8 Desember 2020
Kami telah merilis patch untuk Azure DevOps Server 2020 yang memperbaiki hal berikut. Silakan lihat posting blog untuk informasi selengkapnya.
- CVE-2020-17145: Kerentanan Spoofing Layanan Azure DevOps Server dan Team Foundation
Tanggal Rilis Azure DevOps Server 2020: 6 Oktober 2020
Azure DevOps Server 2020 adalah akumulasi perbaikan bug. Ini termasuk semua fitur dalam Azure DevOps Server 2020 RC2 yang sebelumnya dirilis.
Catatan
Azure DevOps 2020 Server memiliki masalah dengan penginstalan salah satu rakitan yang digunakan oleh Git Virtual File System (GVFS).
Jika Anda meningkatkan dari Azure DevOps 2019 (rilis apa pun) atau kandidat rilis Azure DevOps 2020 dan menginstal ke direktori yang sama dengan rilis sebelumnya, perakitan Microsoft.TeamFoundation.Git.dll
tidak akan diinstal. Anda dapat memverifikasi bahwa Anda telah mengalami masalah dengan mencari Microsoft.TeamFoundation.Git.dll
di folder <Install Dir>\Version Control Proxy\Web Services\bin
, <Install Dir>\Application Tier\TFSJobAgent
dan <Install Dir>\Tools
. Jika file hilang, Anda dapat menjalankan perbaikan untuk memulihkan file yang hilang.
Untuk menjalankan perbaikan, buka Settings -> Apps & Features
komputer/mesin virtual Azure DevOps Server dan jalankan perbaikan di Server Azure DevOps 2020. Setelah perbaikan selesai, Anda dapat menghidupkan ulang komputer/mesin virtual.
Tanggal Rilis Azure DevOps Server 2020 RC2: 11 Agustus 2020
Azure DevOps Server 2020 RC2 adalah serangkaian perbaikan bug. Ini mencakup semua fitur di Azure DevOps Server 2020 RC1 yang dirilis sebelumnya.
Tanggal Rilis untuk rilis ulang Azure DevOps Server 2020 RC1: 10 Juli 2020
Kami telah merilis ulang Azure DevOps Server 2020 RC1 untuk memperbaiki tiket umpan balik Komunitas Pengembang ini.
Sebelumnya, setelah melakukan peningkatan dari Azure DevOps Server 2019, perbarui 1.1 ke Azure DevOps Server 2020 RC1, Anda tidak dapat melihat file di Repositori, Alur, dan Wiki dari UI Web. Terdapat pesan kesalahan yang menunjukkan terjadinya kesalahan tak terduga dalam wilayah halaman ini. Anda dapat mencoba memuat ulang komponen ini atau refresh seluruh halaman. Dengan rilis ini, kami telah memperbaiki masalah ini. Silakan lihat posting blog untuk informasi selengkapnya.
Tanggal Rilis RC1 Azure DevOps Server 2020: 30 Juni 2020
Ringkasan Apa yang Baru di Azure DevOps Server 2020
Azure DevOps Server 2020 memperkenalkan banyak fitur baru. Beberapa sorotan meliputi:
- Alur multi-tahapan
- Penyebaran tanpa henti in YAML
- Melacak kemajuan item induk menggunakan backlog Rollup on Boards
- Tambahkan filter "Item Kerja Induk" ke papan tugas dan backlog sprint
- NUI Web baru untuk halaman arahan Azure Repos
- Administrasi kebijakan cabang lintas repositori
- Halaman Dokumen Pengujian Baru
- Pengeditan beragam untuk halaman wiki kode
- Laporan kegagalan dan durasi alur
Anda juga dapat langsung membuka bagian individual dan melihat semua fitur baru untuk setiap layanan:
Umum
Ketersediaan umum CLI Azure DevOps
Pada bulan Februari, kami memperkenalkan ekstensi Azure DevOps untuk Azure CLI. Ekstensi ini memungkinkan Anda berinteraksi dengan Azure DevOps dari baris perintah. Kami telah mengumpulkan umpan balik Anda yang membantu kami meningkatkan ekstensi dan menambahkan lebih banyak perintah. Kami sekarang dengan senang hati mengumumkan bahwa ekstensi tersebut tersedia secara umum.
Untuk mempelajari selengkapnya tentang CLI Azure DevOps, lihat dokumentasi di sini.
Gunakan profil penerbitan untuk menyebarkan Azure WebApps untuk Windows dari Pusat Penyebaran
Sekarang Anda dapat menggunakan autentikasi berbasis profil yang diterbitkan untuk menyebarkan Azure WebApps untuk Windows dari Pusat Penyebaran. Jika diizinkan untuk melakukan penyebaran ke Azure WebApp untuk Windows dengan menggunakan profil penerbitannya, Anda akan dapat menyiapkan alur menggunakan profil ini di alur kerja Pusat Penerapan.
Boards
Tambahkan filter "Item Kerja Induk" ke papan tugas dan backlog sprint
Kami menambahkan filter baru ke papan Sprint dan backlog Sprint. Dengan ini, Anda dapat memfilter item backlog tingkat persyaratan (kolom pertama di sebelah kiri) berdasarkan induknya. Misalnya, pada cuplikan layar di bawah ini, kita telah memfilter tampilan sehingga hanya cerita pengguna yang tampil sedangkan induknya adalah "Fitur besar saya".
Meningkatkan pengalaman penanganan kesalahan –– bidang yang diperlukan pada Bug/Tugas
Secara historis, dari papan Kanban, jika Anda memindahkan item kerja dari satu kolom ke kolom lain sedangkan perubahan status memicu aturan bidang, kartu hanya akan menampilkan pesan kesalahan merah yang akan memaksa Anda membuka item kerja untuk memahami akar penyebabnya. Dalam sprint 170, kami meningkatkan pengalaman sehingga Anda sekarang dapat mengeklik pesan kesalahan merah untuk melihat detail kesalahan tanpa harus membuka item kerja itu sendiri.
Pemuatan ulang item kerja secara langsung
Sebelumnya, saat memperbarui item kerja, dan anggota tim kedua membuat perubahan pada item kerja yang sama, pengguna kedua akan kehilangan perubahan mereka. Sekarang, selama Anda berdua mengedit bidang yang berbeda, Anda akan melihat pembaruan langsung dari perubahan yang dilakukan pada item kerja.
Mengelola iterasi dan jalur area dari baris perintah
Anda sekarang dapat mengelola perulangan dan jalur area dari baris perintah dengan menggunakan perintah az boards iteration
dan az boards area
. Misalnya, Anda dapat menyiapkan dan mengelola perulangan dan jalur area secara interaktif dari CLI, atau mengotomatiskan seluruh penyiapan dengan menggunakan skrip. Untuk detail selengkapnya tentang perintah dan sintaks, lihat dokumentasi di sini.
Kolom induk item kerja sebagai opsi kolom
Anda sekarang memiliki opsi untuk melihat induk dari setiap item kerja di backlog produk atau backlog sprint Anda. Untuk mengaktifkan fitur ini, buka Opsi Kolom pada backlog yang diinginkan, lalu tambahkan kolom Induk.
Ubah proses yang digunakan oleh proyek
Alat Anda harus berubah seperti yang dilakukan tim, Anda sekarang dapat mengalihkan proyek Anda dari templat proses unik ke proses unik lainnya. Misalnya, Anda dapat mengubah proyek dari menggunakan Agile ke Scrum, atau Basic ke Agile. Anda dapat menemukan dokumentasi langkah demi langkah lengkap di sini.
Sembunyikan bidang kustom dari tata letak
Sekarang Anda dapat menyembunyikan bidang kustom dari tata letak formulir saat menyesuaikan proses Anda. Bidang masih akan tersedia dari kueri dan REST API. Hal ini berguna untuk melacak bidang tambahan ketika Anda melakukan integrasi dengan sistem lain.
Dapatkan wawasan tentang kesehatan tim Anda dengan tiga laporan Azure Boards baru
Anda tidak dapat memperbaiki apa yang tidak dapat Anda lihat. Oleh karenanya, Anda ingin mengawasi status dan kesehatan proses kerja mereka. Dengan laporan ini, kami memudahkan Anda untuk melacak metrik penting dengan upaya minimal di Azure Boards.
Tiga laporan interaktif baru adalah: Burndown, Cumulative Flow Diagram (CFD) dan Kecepatan. Anda dapat melihat laporan di tab analitik baru.
Melalui metrik seperti burndown sprint, alur kerja, dan kecepatan tim, Anda bisa melihat kemajuan tim dan membantu menjawab pertanyaan seperti:
- Berapa banyak pekerjaan yang tersisa dalam sprint ini? Apakah kita sudah berada di jalur yang benar untuk menyelesaikannya?
- Langkah apa dari proses pengembangan yang memakan waktu paling lama? Adakah yang bisa kita lakukan untuk memperbaikinya?
- Berdasarkan perulangan sebelumnya, berapa banyak pekerjaan yang harus kita rencanakan untuk sprint berikutnya?
Catatan
Bagan yang sebelumnya diperlihatkan di header telah diganti dengan laporan yang disempurnakan ini.
Laporan baru sepenuhnya interaktif dan memungkinkan Anda menyesuaikannya dengan kebutuhan Anda. Anda dapat menemukan laporan baru di bawah tab Analitik pada setiap hub.
Bagan burndown dapat ditemukan di bawah hub Sprints.
Laporan CFD dan Kecepatan dapat diakses dari tab Analitik di bawah Papan dan Backlog dengan mengeklik kartu yang relevan.
Dengan laporan baru, Anda memiliki lebih banyak kontrol dan informasi tentang tim Anda. Berikut adalah beberapa contohnya:
- Laporan Sprint Burndown dan Velocity dapat diatur sehingga dapat menggunakan jumlah item kerja atau jumlah pekerjaan yang tersisa.
- Anda dapat menyesuaikan jangka waktu burndown sprint tanpa memengaruhi tanggal proyek. Jadi, jika tim Anda biasanya menghabiskan hari pertama dari setiap perencanaan sprint, Anda sekarang dapat menyesuaikan bagan untuk memperlihatkan hal tersebut.
- Bagan burndown sekarang memiliki marka air yang memperlihatkan akhir pekan.
- Dengan laporan CFD, Anda dapat menghapus kolom papan seperti Desain untuk mendapatkan lebih banyak fokus pada alur yang dapat dikontrol oleh tim.
Berikut adalah contoh laporan CFD yang menunjukkan alur selama 30 hari terakhir pada backlog Stories.
Bagan Kecepatan sekarang dapat dilacak untuk semua tingkat backlog. Misalnya, Anda sekarang dapat menambahkan Fitur dan Epik sedangkan bagan sebelumnya hanya mendukung Persyaratan. Berikut adalah contoh laporan kecepatan untuk 6 pengulangan terakhir dari backlog Fitur.
Menyesuaikan kolom Taskboard
Kami sangat senang mengumumkan bahwa kami telah menambahkan opsi agar Anda dapat menyesuaikan kolom di Taskboard. Sekarang Anda dapat menambahkan, menghapus, mengganti nama, dan menyusun ulang kolom.
Untuk mengonfigurasi kolom di Taskboard Anda, buka Opsi Kolom.
Fitur ini diprioritaskan berdasarkan saran dari Komunitas Pengembang.
Alihkan untuk menampilkan atau menyembunyikan item kerja anak yang sudah selesai di backlog
Sering kali, ketika menyempurnakan backlog, Anda hanya ingin melihat item yang belum selesai. Sekarang, Anda mampu menampilkan atau menyembunyikan item anak yang sudah selesai di backlog.
Jika tombol aktif, Anda akan melihat semua item anak dalam status selesai. Ketika tombol mati, semua item anak dalam status selesai akan disembunyikan dari backlog.
Tag terbaru ditampilkan saat memberi tag pada item kerja
Saat memberi tag pada item kerja, opsi selesaikan otomatis sekarang akan menampilkan hingga lima tag terakhir yang Anda gunakan. Hal ini akan memudahkan penambahan informasi yang tepat ke item kerja Anda.
Aturan baca-saja dan yang diperlukan untuk keanggotaan grup
Dengan aturan item kerja, Anda dapat mengatur tindakan tertentu pada bidang item kerja untuk mengotomatiskan perilakunya. Anda dapat membuat aturan untuk mengatur bidang menjadi baca-saja atau diperlukan berdasarkan keanggotaan grup. Misalnya, Anda mungkin ingin memberi pemilik produk kemampuan untuk mengatur prioritas fitur Anda sekaligus mengaturnya sebagai baca-saja untuk orang lain.
Menyesuaikan nilai daftar pilihan sistem
Anda sekarang dapat menyesuaikan nilai untuk daftar pilihan sistem apa pun (kecuali bidang alasan) seperti Tingkat Keparahan, Aktivitas, Prioritas, dll. Kustomisasi daftar pilihan dicakup sehingga Anda dapat mengelola nilai yang berbeda untuk bidang yang sama pada setiap tipe item kerja.
Parameter URL item kerja baru
Bagikan tautan ke item kerja dengan konteks papan atau backlog Anda dengan parameter URL item kerja baru kami. Anda sekarang dapat membuka dialog item kerja di papan, backlog, atau pengalaman sprint Anda dengan menambahkan parameter ?workitem=[ID]
ke URL.
Siapa pun yang menerima tautan dari Anda kemudian akan mendarat dengan konteks yang sama dengan yang Anda miliki ketika Anda membagikan tautan!
Sebutkan orang, item kerja, dan PR di bidang teks
Saat mendengarkan umpan balik Anda, kami mendengar bahwa Anda menginginkan kemampuan untuk menyebutkan orang, item kerja, dan PR di area deskripsi item kerja (dan bidang HTML lainnya) pada item kerja dan bukan hanya di komentar. Terkadang Anda berkolaborasi dengan seseorang di item kerja, atau ingin menyoroti PR dalam deskripsi item kerja Anda, tetapi tidak memiliki cara untuk menambahkan informasi tersebut. Sekarang Anda dapat menyebutkan orang, item kerja, dan PR di semua bidang teks panjang pada item kerja.
Anda dapat melihat contoh di sini.
- Untuk menggunakan penyebutan orang, ketik tanda @ dan nama orang yang ingin Anda sebutkan. @mentions di bidang item kerja akan menghasilkan pemberitahuan email seperti apa yang dilakukannya untuk komentar.
- Untuk menggunakan penyebutan item kerja, ketik tanda # diikuti dengan ID atau judul item kerja. #mentions akan membuat tautan antara dua item kerja.
- Untuk menggunakan sebutan PR, tambahkan ! diikuti dengan ID atau nama PR Anda.
Reaksi tentang komentar diskusi
Salah satu tujuan utama kami adalah membuat item kerja lebih kolaboratif untuk tim. Baru-baru ini kami melakukan jajak pendapat di Twitter untuk mengetahui fitur kolaborasi apa yang Anda inginkan saat membahas item kerja. Menghadirkan reaksi ke komentar adalah suara terbanyak dari jajak pendapat, jadi kami menambahkannya! Berikut adalah hasil polling Twitter.
Anda dapat menambahkan reaksi pada komentar apa pun, dan ada dua cara untuk menambahkan reaksi Anda - ikon tersenyum di sudut kanan atas komentar apa pun, serta di bagian bawah komentar di samping reaksi yang ada. Anda dapat menambahkan keenam reaksi jika Anda suka, atau hanya satu atau dua. Untuk menghapus reaksi Anda, klik reaksi di bagian bawah komentar Anda dan itu akan dihapus. Di bawah ini Anda dapat melihat pengalaman menambahkan reaksi, serta seperti apa reaksi pada komentar.
Menyematkan laporan Azure Boards ke dasbor
Dalam Pembaruan Sprint 155, kami menyertakan versi terbaru dari laporan CFD dan Kecepatan. Laporan ini tersedia di bawah tab Analitik Papan dan Backlog. Sekarang Anda dapat menyematkan laporan langsung ke Dasbor Anda. Untuk menyematkan laporan, arahkan mouse ke atas laporan, pilih menu elipsis "..." dan Salin ke Dasbor.
Melacak kemajuan item induk menggunakan backlog Rollup on Boards
Kolom rollup memperlihatkan bilah kemajuan dan/atau total bidang numerik atau item turunan dalam hierarki. Item keturunan sesuai dengan semua item turunan dalam hierarki. Satu atau beberapa kolom rollup dapat ditambahkan ke backlog produk atau portofolio.
Misalnya, di sini kami memperlihatkan Kemajuan menurut Item Kerja yang menampilkan bilah kemajuan untuk item kerja naik berdasarkan persentase item keturunan yang telah ditutup. Item keturunan untuk Epik mencakup semua Fitur turunan dan item kerja turunan atau anak turunannya. Item turunan untuk Fitur mencakup semua Cerita Pengguna turunan dan item kerja turunannya.
Pembaruan langsung Taskboard
Taskboard Anda sekarang secara otomatis di-refresh ketika perubahan terjadi! Saat anggota tim lain memindahkan atau menyusun ulang kartu di taskboard, papan Anda akan secara otomatis diperbarui dengan perubahan ini. Anda tidak perlu lagi menekan F5 untuk melihat perubahan terbaru.
Dukungan untuk bidang kustom di kolom Rollup
Rollup sekarang dapat dilakukan pada bidang apa pun, termasuk bidang kustom. Saat menambahkan kolom Rollup, Anda masih bisa memilih kolom Rollup dari daftar Cepat, namun jika Anda ingin melakukan akumulasi pada bidang numerik yang bukan bagian dari templat proses unik, Anda bisa mengonfigurasinya sendiri sebagai berikut:
- Pada backlog Anda klik "Column options". Kemudian di panel, klik "Add Rollup column" dan Konfigurasikan akumulasi kustom.
- Pilih antara Bilah Kemajuan dan Total.
- Pilih tipe item kerja atau tingkat Backlog (biasanya backlog mengagregasi beberapa tipe item kerja).
- Pilih tipe agregasi. Jumlah item kerja atau Jumlah. Untuk Jumlah, Anda harus memilih bidang yang akan diringkas.
- Tombol OK akan membawa Anda kembali ke panel opsi kolom tempat Anda dapat menyusun ulang kolom kustom baru Anda.
Perhatikan bahwa Anda tidak dapat mengedit kolom kustom setelah mengeklik OK. Jika Anda perlu membuat perubahan, hapus kolom kustom dan tambahkan kolom lain sesuai keinginan.
Aturan baru untuk menyembunyikan bidang dalam formulir item kerja berdasarkan kondisi
Kami telah menambahkan aturan baru ke mesin aturan yang diwariskan agar Anda bisa menyembunyikan bidang dalam formulir item kerja. Aturan ini akan menyembunyikan bidang berdasarkan keanggotaan grup pengguna. Misalnya, jika pengguna termasuk dalam grup "pemilik produk", maka Anda dapat menyembunyikan bidang khusus pengembang. Untuk lebih jelasnya, silakan lihat dokumentasinya di sini.
Pengaturan pemberitahuan item kerja kustom
Anda perlu terus mendapatkan informasi terbaru tentang item kerja yang relevan untuk Anda atau tim. Hal ini membantu tim berkolaborasi dan bekerja sesuai tujuan proyek serta memastikan bahwa semua pihak yang tepat telah dilibatkan. Namun, beragam pemangku kepentingan memiliki tingkat investasi serta upaya yang berbeda, dan kami percaya bahwa hal tersebut harus terlihat dari kemampuan Anda untuk mengikuti status item kerja.
Sebelumnya, jika ingin mengikuti item kerja dan mendapatkan pemberitahuan tentang perubahan yang dibuat, Anda akan memperoleh pemberitahuan email untuk segala perubahan tersebut pada item kerja. Setelah mempertimbangkan umpan balik Anda, kami membuat item pekerjaan berikut lebih fleksibel untuk semua pemangku kepentingan. Sekarang, Anda akan melihat tombol pengaturan baru di samping tombol Ikuti di sudut kanan atas item kerja. Hal ini akan membawa Anda ke pesan pop up sehingga dapat mengonfigurasi opsi berikut.
Dari Pengaturan Pemberitahuan, Anda dapat membuat pilihan dari tiga opsi pemberitahuan. Pertama, Anda dapat sepenuhnya berhenti berlangganan. Kedua, Anda dapat sepenuhnya berlangganan, sehingga Anda bisa mendapatkan pemberitahuan untuk semua perubahan item kerja. Terakhir, Anda dapat memilih untuk mendapatkan pemberitahuan tentang beberapa peristiwa perubahan item kerja teratas dan penting. Anda dapat memilih satu opsi saja, atau ketiganya. Dengan ini, anggota tim dapat mengikuti item kerja pada tingkat yang lebih tinggi dan tidak terganggu oleh setiap perubahan yang dilakukan. Dengan fitur ini, kami akan menghilangkan email yang tidak perlu sehingga Anda dapat berfokus pada tugas-tugas penting yang ada.
Menautkan item kerja ke penyebaran
Kami sangat antusias untuk merilis kontrol Penyebaran pada formulir item kerja. Kontrol ini menautkan item kerja Anda ke rilis dan memungkinkan Anda melacak lokasi penyebaran item Anda dengan mudah. Untuk mempelajarinya lebih lanjut, lihat dokumentasi.
Mengimpor item kerja dari file CSV
Hingga saat ini, mengimpor item kerja dari file CSV bergantung pada penggunaan plugin Excel. Dalam pembaruan ini kami memberikan pengalaman impor kelas satu langsung dari Azure Boards sehingga Anda dapat mengimpor item kerja baru atau memperbaruinya. Untuk mempelajarinya lebih lanjut, lihat dokumentasinya di sini.
Tambahkan bidang induk ke kartu item kerja
Sekarang, konteks induk tersedia dalam papan Kanban Anda sebagai bidang baru untuk kartu item kerja. Sekarang, Anda dapat menambahkan bidang Induk ke kartu, sehingga tidak perlu lagi menggunakan solusi seperti tag dan awalan.
Menambahkan bidang induk ke backlog dan kueri
Bidang induk sekarang tersedia saat menampilkan backlog dan hasil kueri. Untuk menambahkan bidang induk, gunakan tampilan Opsi kolom.
Repos
Metrik cakupan kode dan kebijakan cabang untuk permintaan pull
Sekarang Anda dapat melihat metrik cakupan kode untuk perubahan dalam tampilan permintaan pull (PR). Ini memastikan bahwa Anda telah menguji perubahan Anda secara memadai melalui pengujian otomatis. Status cakupan akan muncul sebagai komentar dalam gambaran umum PR. Anda dapat melihat detail informasi cakupan untuk setiap baris kode yang diubah dalam tampilan diff file.
Selain itu, pemilik repositori sekarang dapat menetapkan kebijakan cakupan kode dan mencegah perubahan besar yang belum diuji untuk digabungkan ke dalam cabang. Ambang cakupan yang diinginkan dapat ditentukan dalam file pengaturan azurepipelines-coverage.yml
yang diperiksa di akar kebijakan repositori dan cakupan dapat ditentukan menggunakan kemampuan konfigurasi kebijakan cabang untuk layanan tambahan yang ada di Repositori Azure.
Memfilter pemberitahuan komentar dari permintaan pull
Komentar dalam permintaan pull sering kali menimbulkan banyak kebisingan karena pemberitahuan. Kami telah menambahkan langganan kustom agar Anda dapat memfilter pemberitahuan komentar yang ingin Anda langgan, berdasarkan usia komentar, pemberi komentar, komentar yang dihapus, pengguna yang disebutkan, pembuat permintaan pull, cabang target, dan peserta utas. Anda dapat membuat langganan pemberitahuan ini dengan mengeklik ikon pengguna di sudut kanan atas dan mengarahkan navigasi ke Pengaturan pengguna.
Hook layanan untuk komentar permintaan pull
Anda sekarang dapat membuat hook layanan untuk komentar dalam permintaan pull berdasarkan repositori dan cabang target.
Kebijakan untuk memblokir file dengan pola yang ditentukan
Administrator sekarang dapat menetapkan kebijakan untuk mencegah penerapan didorong ke repositori berdasarkan jenis dan jalur file. Kebijakan validasi nama file akan memblokir dorongan yang sesuai dengan pola yang disediakan.
Mengatasi item kerja melalui penerapan dengan menggunakan kata kunci
Anda sekarang dapat mengatasi item kerja melalui penerapan yang dibuat ke cabang default dengan menggunakan kata-kata kunci seperti perbaikan, memperbaiki, atau diperbaiki. Misalnya, Anda dapat menulis - "perubahan ini tetap #476" dalam pesan penerapan dan item kerja Anda #476 akan selesai ketika penerapan didorong atau digabungkan ke cabang default. Untuk lebih jelasnya, silakan lihat dokumentasinya di sini.
Granularitas untuk ulasan otomatis
Sebelumnya, saat menambahkan peninjau tingkat grup ke permintaan pull, hanya satu persetujuan yang diperlukan dari grup yang ditambahkan. Sekarang Anda dapat menetapkan kebijakan yang memerlukan lebih dari satu peninjau dari tim untuk menyetujui permintaan pull saat menambahkan peninjau otomatis. Selain itu, Anda dapat menambahkan kebijakan untuk mencegah pemohon menyetujui perubahan mereka sendiri.
Menggunakan autentikasi berbasis akun layanan untuk membuat sambungan ke AKS
Sebelumnya, saat mengonfigurasi Azure Pipelines dari Pusat Penyebaran AKS, kami menggunakan Sambungan Azure Resource Manager. Koneksi ini memiliki akses ke seluruh kluster dan bukan hanya namespace yang alurnya dikonfigurasi. Dengan pembaruan ini, alur kami akan menggunakan autentikasi berbasis akun layanan untuk terhubung ke kluster sehingga hanya akan memiliki akses ke namespace yang terkait dengan alur tersebut.
Pratinjau file Markdown dalam permintaan pull Diff secara berdampingan
Sekarang Anda dapat melihat pratinjau tampilan file markdown dengan menggunakan tombol Pratinjau baru. Selain itu, Anda dapat melihat konten lengkap file dari diff Berdampingan dengan memilih tombol Tampilan.
Kedaluwarsa kebijakan kompilasi untuk kompilasi manual
Kebijakan memberlakukan kualitas kode tim Anda dan mengubah standar manajemen. Sebelumnya, Anda dapat menetapkan kebijakan kedaluwarsa kompilasi untuk kompilasi otomatis. Sekarang Anda dapat mengatur kebijakan kedaluwarsa kompilasi ke kompilasi manual Anda juga.
Menambahkan kebijakan untuk memblokir penerapan berdasarkan email pembuat penerapan
Administrator sekarang dapat mengatur kebijakan pendorongan untuk mencegah penerapan didorong ke suatu repositori dan pada repositori tersebut email pembuat penerapannya tidak cocok dengan pola yang disediakan.
Fitur ini diprioritaskan berdasarkan saran dari Komunitas Pengembang untuk memberikan pengalaman serupa. Kami akan terus membuka tiket dan mendorong pengguna untuk memberi tahu kami, jenis kebijakan push lain yang ingin Anda lihat.
Menandai file dengan status ditinjau dalam permintaan pull
Terkadang, Anda perlu meninjau permintaan pull yang berisi perubahan pada sejumlah besar file dan mungkin sulit untuk melacak file mana yang telah Anda tinjau. Sekarang Anda dapat menandai file dengan status ditinjau dalam permintaan pull.
Anda dapat menandai file dengan status ditinjau dengan menggunakan menu drop-down di samping nama file atau dengan mengarahkan mouse ke atas dan mengeklik nama file.
Catatan
Fitur ini hanya dimaksudkan untuk melacak kemajuan Anda saat Anda meninjau permintaan pull. Hal ini tidak memperlihatkan pemungutan suara pada permintaan pull sehingga tanda ini hanya akan terlihat oleh peninjau.
Fitur ini diprioritaskan berdasarkan saran dari Komunitas Pengembang.
UI Web baru untuk halaman arahan Azure Repos
Anda sekarang dapat mencoba halaman arahan modern, cepat, dan ramah seluler baru kami dalam Repositori Azure. Halaman ini tersedia dengan status halaman arahan Repositori Baru. Halaman arahan mencakup semua halaman kecuali untuk detail permintaan pull, detail penerapan, dan perbandingan cabang.
Web
Seluler
Administrasi kebijakan cabang lintas repositori
Kebijakan cabang adalah salah satu fitur canggih Repositori Azure yang membantu Anda melindungi cabang penting. Meskipun kemampuan untuk menetapkan kebijakan di tingkat proyek ada di REST API, tidak ada antarmuka pengguna untuk itu. Sekarang, admin dapat menetapkan kebijakan pada cabang tertentu atau cabang default di semua repositori dalam proyek mereka. Misalnya, admin dapat memerlukan dua peninjau minimum untuk semua permintaan pull yang dibuat ke setiap cabang utama di setiap repositori dalam proyek mereka. Anda dapat menemukan fitur Tambahkan perlindungan cabang di Pengaturan Proyek Repositori.
Halaman arahan konversi platform web baru
Kami telah memperbarui pengalaman pengguna halaman arahan Repositori untuk membuatnya modern, cepat, dan ramah seluler. Berikut adalah dua contoh halaman yang telah diperbarui, kami akan terus memperbarui halaman lain di pembaruan mendatang.
Pengalaman web:
Pengalaman seluler:
Dukungan untuk bahasa Kotlin
Kami sangat senang mengumumkan bahwa kami sekarang mendukung penyorotan bahasa Kotlin di editor file. Penyorotan akan meningkatkan keterbacaan file teks Kotlin dan membantu Anda memindai cepat untuk menemukan kesalahan. Kami memprioritaskan fitur ini berdasarkan saran dari Komunitas Pengembang.
Langganan pemberitahuan kustom untuk draf permintaan pull
Untuk membantu mengurangi jumlah pemberitahuan email dari permintaan pull, Anda sekarang dapat membuat langganan pemberitahuan kustom untuk permintaan pull yang dibuat atau diperbarui dalam status draf. Anda bisa mendapatkan email khusus untuk draf permintaan pull atau memfilter email dari draf permintaan pull sehingga tim Anda tidak mendapatkan pemberitahuan sebelum permintaan pull siap untuk ditinjau.
Peningkatan kemampuan tindakan PR
Ketika ada banyak permintaan pull yang perlu ditinjau, Anda mungkin kesulitan untuk menentukan, tindakan mana yang sebaiknya diambil terlebih dahulu. Untuk meningkatkan kemampuan bertindak untuk permintaan pull, Anda sekarang dapat membuat beberapa kueri kustom di halaman daftar permintaan pull dengan beberapa opsi baru untuk melakukan filter, seperti status draf. Kueri ini akan membuat bagian terpisah dan dapat diciutkan di halaman permintaan pull Anda selain "Dibuat oleh saya" dan "Ditetapkan kepada saya". Anda juga dapat menolak untuk meninjau permintaan pull yang ditambahkan melalui menu Vote atau menu konteks di halaman daftar permintaan pull. Di bagian kustom, Anda sekarang akan melihat tab terpisah untuk permintaan pull, yaitu tab yang telah mendapatkan ulasan dari Anda dan tab yang tidak, karena Anda menolak untuk mengulasnya. Kueri kustom ini akan berfungsi di seluruh repositori pada tab "Permintaan pull saya" di beranda koleksi. Jika Anda ingin kembali ke permintaan pull, Anda dapat memberi bendera dan mereka akan muncul di bagian atas daftar Anda. Terakhir, permintaan pull yang telah diatur ke selesai otomatis akan ditandai dengan pil yang bertuliskan 'Selesai otomatis' dalam daftar.
Pipelines
Alur multi-tahapan
Kami telah mengerjakan pengalaman pengguna yang diperbarui untuk mengelola alur Anda. Pembaruan ini membuat alur merasakan pengalaman modern dan konsisten dengan arah Azure DevOps. Selain itu, pembaruan ini menggabungkan alur kompilasi klasik dan alur YAML multi-tahap ke dalam satu pengalaman. Pembaruan ini ramah seluler dan membawa berbagai peningkatan terkait cara Anda mengelola alur. Anda dapat menelusuri paling detail dan melihat detail alur, menjalankan detail, analitik alur, detail pekerjaan, log, dan lainnya.
Kemampuan berikut disertakan dalam pengalaman baru:
- menampilkan dan mengelola beberapa tahap
- menyetujui eksekusi alur
- gulir kembali ke log saat alur masih berlangsung
- kesehatan per cabang alur.
Penyebaran tanpa henti in YAML
Kami sangat senang dapat menyediakan fitur CD YAML Azure Pipelines. Sekarang, kami menawarkan pengalaman YAML terpadu, sehingga Anda dapat mengonfigurasi setiap alur untuk melakukan CI, CD, atau CI dan CD bersama-sama. Fitur CD YAML memperkenalkan beberapa fitur canggih baru yang tersedia untuk semua koleksi, dengan menggunakan alur YAML multi-tahap. Beberapa sorotan meliputi:
- Alur YAML multi-tahap (untuk CI dan CD)
- Persetujuan dan pemeriksaan terhadap sumber daya
- Lingkungan dan strategi penyebaran
- Sumber daya Kubernetes dan Mesin Virtual di lingkungan
- Meninjau aplikasi untuk kolaborasi
- UX yang di-refresh untuk koneksi layanan
- Sumber daya dalam alur YAML
Jika Anda siap untuk mulai membangun, lihat dokumentasi atau blog untuk membangun alur CI/CD multi-tahap.
Mengelola variabel alur di editor YAML
Kami memperbarui pengalaman untuk mengelola variabel alur di editor YAML. Anda tidak lagi harus membuka editor klasik untuk menambahkan atau memperbarui variabel di alur YAML Anda.
Menyetujui rilis langsung dari hub Rilis
Tindakan atas persetujuan yang tertunda telah dipermudah. Sebelumnya, persetujuan rilis dapat diberikan dari halaman detail rilis. Sekarang Anda dapat menyetujui rilis langsung dari hub Rilis.
Penyempurnaan dalam memulai alur
Pertanyaan umum terkait wizard memulai selama ini adalah kemampuan untuk mengganti nama file yang dihasilkan. Saat ini, status cek masuknya adalah azure-pipelines.yml
di akar repositori Anda. Anda sekarang dapat memperbarui file ke nama atau lokasi file yang berbeda sebelum menyimpan alurnya.
Terakhir, kami Anda akan mengontrol lebih banyak saat cek masuk file azure-pipelines.yml
ke cabang yang berbeda karena Anda dapat memilih untuk melewati pembuatan permintaan pull dari cabang tersebut.
Pratinjau dokumen YAML yang diurai sepenuhnya tanpa menerapkan atau menjalankan alur
Kami telah menambahkan mode pratinjau tanpa eksekusi untuk alur YAML. Sekarang, Anda dapat mencoba alur YAML tanpa menerapkannya ke repositori atau menjalankannya. Mengingat alur yang ada dan payload YAML baru opsional, API baru ini akan mengembalikan alur YAML lengkap kepada Anda. Di pembaruan mendatang, API ini akan digunakan dalam fitur editor baru.
Untuk pengembang: POST ke dev.azure.com/<org>/<project>/_apis/pipelines/<pipelineId>/runs?api-version=5.1-preview
dengan isi JSON seperti ini:
{
"PreviewRun": true,
"YamlOverride": "
# your new YAML here, optionally
"
}
Respons akan berisi YAML yang dirender.
Jadwal Cron di YAML
Sebelumnya, Anda dapat menggunakan editor UI guna menentukan pemicu terjadwal untuk alur YAML. Dengan rilis ini, Anda dapat menjadwalkan kompilasi dengan menggunakan sintaks cron dalam file YAML Anda dan menggunakan manfaat berikut:
- Konfigurasi sebagai kode: Anda dapat melacak jadwal bersama dengan alur Anda sebagai bagian dari kode.
- Ekspresif: Anda memiliki kekuatan yang lebih ekspresif dalam menentukan jadwal daripada yang sebelumnya dengan UI. Misalnya, lebih mudah untuk menentukan satu jadwal yang memulai eksekusi setiap jam.
- Standar industri: Banyak pengembang dan administrator sudah terbiasa dengan sintaks cron.
schedules:
- cron: "0 0 * * *"
displayName: Daily midnight build
branches:
include:
- main
- releases/*
exclude:
- releases/ancient/*
always: true
Kami juga telah memudahkan Anda untuk mendiagnosis masalah dengan jadwal cron. Eksekusi terjadwal di menu Alur eksekusi akan memberi Anda pratinjau tentang beberapa eksekusi terjadwal yang akan datang untuk alur Anda agar Anda terbantu mendiagnosis kesalahan dengan jadwal cron Anda.
Pembaruan untuk antarmuka pengguna koneksi layanan
Kami telah mengerjakan pengalaman pengguna yang diperbarui untuk mengelola koneksi layanan Anda. Pembaruan ini membuat pengalaman sambungan layanan modern dan konsisten dengan arah Azure DevOps. Kami memperkenalkan antarmuka pengguna baru untuk sambungan layanan sebagai fitur pratinjau awal tahun ini. Terima kasih kepada semua pihak yang mencoba pengalaman baru dan memberikan umpan balik berharga kepada kami.
Seiring dengan refresh pengalaman pengguna, kami juga telah menambahkan dua kemampuan yang sangat penting untuk menggunakan sambungan layanan dalam alur YAML: otorisasi alur dan persetujuan dan pemeriksaan.
Pengalaman pengguna baru akan diaktifkan secara default dengan pembaruan ini. Anda masih akan memiliki opsi untuk menolak pratinjau.
Catatan
Kami berencana untuk memperkenalkan Berbagi Koneksi Layanan Lintas Proyek sebagai kemampuan baru. Anda dapat menemukan detail selengkapnya tentang pengalaman berbagi dan peran keamanan di sini.
Melompati tahapan dalam alur YAML
Saat memulai eksekusi manual, terkadang Anda mungkin ingin melompati beberapa tahap di alur Anda. Misalnya, jika Anda tidak ingin melakukan penyebaran ke produksi, atau jika Anda ingin melompati penyebaran ke beberapa lingkungan dalam produksi. Anda sekarang dapat melakukan ini dengan alur YAML Anda.
Panel alur eksekusi yang diperbarui menyajikan daftar tahapan dari file YAML, dan Anda memiliki opsi untuk melompati satu atau beberapa tahap tersebut. Anda harus berhati-hati saat melompati tahapan. Misalnya, jika tahap pertama Anda menghasilkan artefak tertentu yang diperlukan untuk tahap berikutnya, maka Anda tidak boleh melompati tahap pertama. Panel eksekusi menyajikan peringatan generik setiap kali Anda melompati tahapan yang memiliki dependensi hilir. Anda harus menilai sendiri apakah dependensi tersebut adalah dependensi artefak yang sebenarnya atau apakah dependensi ini hanya diperlukan untuk mengurutkan penyebaran.
Melewati satu tahap sama dengan merangkai kembali dependensi antar tahap. Setiap dependensi hilir langsung dari tahap yang dilewati dibuat untuk bergantung pada induk upstram dari tahap yang dilompati. Jika eksekusi gagal dan jika Anda mencoba mengeksekusi ulang tahap yang gagal, upaya itu juga akan menunjukkan perilaku melompati yang sama. Untuk mengubah tahapan mana yang dilompati, Anda harus memulai eksekusi baru.
Koneksi layanan antarmuka pengguna baru sebagai pengalaman default
Terdapat antarmuka pengguna sambungan layanan baru. Antarmuka pengguna baru ini dibangun berdasarkan standar desain modern dan dilengkapi dengan berbagai fitur penting untuk mendukung alur CD YAML multi-tahap seperti persetujuan, otorisasi, dan berbagi lintas proyek.
Pelajari lebih lanjut tentang sambungan layanan di sini.
Pemilih versi sumber daya alur dalam dialog buat eksekusi
Kami menambahkan kemampuan untuk mengambil versi sumber daya alur secara manual dalam dialog buat eksekusi. Jika Anda menggunakan alur sebagai sumber daya di alur lain, Anda sekarang dapat memilih versi alur tersebut saat membuat eksekusi.
az
Penyempurnaan CLI untuk Alur Azure
Grup variabel alur dan perintah manajemen variabel
Mungkin sulit untuk memindahkan alur berbasis YAML dari satu proyek ke proyek lainnya karena Anda perlu mengatur variabel alur dan grup variabel secara manual. Namun, dengan grup variabel alur dan perintah manajemen variabel, Anda sekarang dapat membuat skrip pengaturan dan manajemen variabel alur dan grup variabel yang pada gilirannya dapat dikontrol versi, sehingga Anda dapat dengan mudah berbagi instruksi untuk memindahkan dan menyiapkan alur dari satu proyek ke proyek lainnya.
Eksekusi alur untuk cabang PR
Saat membuat PR, Anda mungkin kesulitan untuk memvalidasi apakah perubahan mungkin merusak eksekusi alur pada cabang target. Namun, dengan kemampuan untuk memicu eksekusi alur atau mengantrekan kompilasi untuk cabang PR, Anda sekarang dapat memvalidasi dan memvisualisasikan perubahan yang terjadi dengan menjalankannya berdasarkan alur target. Lihat dokumentasi perintah eksekusi alur az dan antrean kompilasi alur az untuk informasi selengkapnya.
Lompati eksekusi alur pertama
Saat membuat alur, ada kalanya Anda ingin membuat dan menerapkan file YAML dan tidak memicu eksekusi alur karena dapat mengakibatkan eksekusi yang salah karena berbagai alasan - infrastruktur tidak siap atau perlu membuat dan memperbarui variabel/grup variabel dll. Dengan Azure DevOps CLI, Anda sekarang dapat melompati eksekusi alur otomatis pertama pada pembuatan alur dengan menyertakan parameter --lompati-eksekusi-pertama. Lihat dokumentasi perintah buat alur az untuk informasi selengkapnya.
Peningkatan perintah titik akhir layanan
Perintah CLI titik akhir layanan hanya mendukung pengaturan dan manajemen titik akhir layanan azure rm dan github. Namun, dengan rilis ini, perintah titik akhir layanan memungkinkan Anda membuat titik akhir layanan apa pun dengan menyediakan konfigurasi melalui file dan menyediakan perintah yang dioptimalkan - az devops service-endpoint github dan az devops service-endpoint azurerm, yang menyediakan dukungan kelas satu untuk membuat titik akhir layanan dari jenis ini. Lihat dokumentasi perintah untuk informasi selengkapnya.
Pekerjaan penyebaran
Pekerjaan penyebaran adalah jenis pekerjaan khusus yang digunakan untuk menyebarkan aplikasi Anda ke lingkungan. Dengan pembaruan ini, kami telah menambahkan dukungan untuk referensi langkah dalam pekerjaan penyebaran. Misalnya, Anda dapat menentukan serangkaian langkah dalam satu file dan merujuknya dalam pekerjaan penyebaran.
Kami juga telah menambahkan dukungan untuk properti tambahan ke pekerjaan penyebaran. Misalnya, berikut ini adalah beberapa properti pekerjaan penyebaran yang sekarang dapat Anda atur,
- timeoutInMinutes - lamanya eksekusi pekerjaan sebelum membatalkan secara otomatis
- cancelTimeoutInMinutes - lamanya waktu untuk memberikan 'eksekusi selalu bahkan jika tugas batalkan' sebelum mengakhirinya
- persyaratan - menjalankan pekerjaan secara kondisional
- variabel - Nilai hardcode secara langsung dapat ditambahkan, atau grup variabel, grup variabel yang didukung oleh brankas kunci Azure dapat dijadikan rujukan atau Anda dapat merujuk ke sekumpulan variabel yang ditentukan dalam file.
- continueOnError - jika pekerjaan di masa mendatang harus berjalan bahkan jika pekerjaan penyebaran ini gagal; default ke 'false'
Untuk detail selengkapnya tentang pekerjaan penyebaran dan sintaks lengkap untuk menentukan pekerjaan penyebaran, lihat Pekerjaan penyebaran.
Menampilkan info alur CD terkait dalam alur CI
Kami menambahkan dukungan ke detail alur YAML CD tempat alur CI disebut sebagai sumber daya alur. Dalam tampilan eksekusi alur CI, Anda sekarang akan melihat tab 'Alur terkait' baru tempat Anda dapat menemukan semua eksekusi alur yang menggunakan alur dan artefak Anda darinya.
Dukungan untuk paket GitHub dalam alur YAML
Baru-baru ini, kami memperkenalkan jenis sumber daya baru yang disebut paket yang menambahkan dukungan untuk menggunakan paket NuGet dan npm dari GitHub sebagai sumber daya dalam alur YAML. Sebagai bagian dari sumber daya ini, Anda sekarang dapat menentukan jenis paket (NuGet atau npm) yang ingin Anda gunakan dari GitHub. Anda juga dapat mengaktifkan pemicu alur otomatis setelah rilis versi paket baru. Saat ini, dukungan hanya tersedia untuk menggunakan paket dari GitHub, tetapi ke depannya, kami berencana untuk memperluas dukungan agar dapat menggunakan paket dari repositori paket lain seperti NuGet, npm, AzureArtifacts dan banyak lagi. Lihat contoh di bawah ini untuk mengetahui detailnya:
resources:
packages:
- package: myPackageAlias # alias for the package resource
type: Npm # type of the package NuGet/npm
connection: GitHubConn # Github service connection of type PAT
name: nugetTest/nodeapp # <Repository>/<Name of the package>
version: 1.0.9 # Version of the packge to consume; Optional; Defaults to latest
trigger: true # To enable automated triggers (true/false); Optional; Defaults to no triggers
Catatan
Saat ini, paket GitHub hanya mendukung autentikasi berbasis PAT, yang berarti bahwa koneksi layanan GitHub dalam sumber daya paket harus berjenis PAT. Setelah batasan ini dicabut, kami akan memberikan dukungan untuk jenis autentikasi lainnya.
Secara default, paket tidak diunduh secara otomatis dalam pekerjaan Anda. Itulah sebabnya kami telah menerapkan makro getPackage yang memungkinkan Anda menggunakan paket yang ditentukan dalam sumber daya. Lihat contoh di bawah ini untuk mengetahui detailnya:
- job: job1
pool: default
steps:
- getPackage: myPackageAlias # Alias of the package resource
Tautan Kluster Azure Kubernetes Service dalam tampilan sumber daya lingkungan Kubernetes
Kami menambahkan tautan ke tampilan sumber daya lingkungan Kubernetes sehingga Anda dapat bernavigasi ke bilah Azure untuk kluster yang sesuai. Ini berlaku untuk lingkungan yang dipetakan ke namespace layanan di kluster Azure Kubernetes Service.
Filter folder rilis dalam langganan pemberitahuan
Folder memungkinkan pengorganisasian alur untuk mendorong penemuan dan kontrol keamanan yang lebih mudah. Sering kali, Anda mungkin ingin mengonfigurasi pemberitahuan email kustom untuk semua alur rilis, yang diwakili oleh semua alur di bawah folder. Sebelumnya, Anda harus mengonfigurasi beberapa langganan atau memiliki kueri kompleks dalam langganan untuk mendapatkan email yang terfokus. Dengan pembaruan ini, Anda sekarang dapat menambahkan klausul folder rilis ke acara penyebaran selesai dan persetujuan tertunda serta menyederhanakan langganan.
Menautkan item kerja dengan alur YAML multi-tahap
Saat ini, Anda dapat secara otomatis menautkan item kerja dengan kompilasi klasik. Namun, hal ini tidak dapat dilakukan dengan alur YAML. Dengan pembaruan ini kami telah mengatasi kesenjangan ini. Saat Anda berhasil menjalankan alur dengan menggunakan kode dari cabang tertentu, Azure Pipelines akan secara otomatis mengaitkan eksekusi dengan semua item kerja (yang disimpulkan melalui penerapan dalam kode tersebut). Saat membuka item kerja, Anda akan dapat melihat eksekusi tempat kode untuk item kerja tersebut dibangun. Untuk mengonfigurasi ini, gunakan panel pengaturan alur.
Batalkan tahap dalam eksekusi alur YAML multi-tahap
Saat menjalankan alur YAML multi-tahap, Anda sekarang dapat membatalkan eksekusi tahap saat hal tersebut sedang berlangsung. Anda akan mendapat manfaat jika mengetahui bahwa tahapan akan gagal atau jika Anda memiliki eksekusi lain yang ingin Anda mulai.
Mencoba kembali tahapan yang gagal
Salah satu fitur yang paling banyak diminta dalam alur multi-tahap adalah kemampuan untuk mencoba kembali tahap yang gagal tanpa harus memulai dari awal. Dengan pembaruan ini, kami menambahkan banyak fungsi ini.
Anda sekarang dapat mencoba kembali tahap alur saat eksekusi gagal. Setiap pekerjaan, yang gagal saat pertama kali dicoba dan bergantung secara transitif pada pekerjaan yang gagal, akan dicoba kembali.
Ini dapat membantu menghemat waktu Anda dalam beberapa cara. Misalnya, ketika menjalankan beberapa pekerjaan dalam satu tahap, Anda mungkin ingin setiap tahap menjalankan pengujian pada platform yang berbeda. Jika pengujian pada satu platform gagal sementara yang lain lulus, Anda dapat menghemat waktu dengan tidak mengeksekusi kembali pekerjaan yang lulus. Sebagai contoh lain, tahap penyebaran mungkin gagal karena koneksi jaringan tidak berfungsi. Mencoba kembali tahap tersebut akan membantu Anda menghemat waktu tanpa harus menghasilkan kompilasi lain.
Terdapat beberapa celah yang diketahui dalam fitur ini. Misalnya, Anda tidak dapat mencoba kembali tahap yang Anda batalkan secara eksplisit. Kami berupaya menutup celah ini dalam pembaruan mendatang.
Persetujuan dalam alur YAML multi-tahap
Alur CD YAML Anda mungkin berisi persetujuan manual. Pemilik infrastruktur dapat melindungi lingkungan mereka dan mencari persetujuan manual sebelum suatu tahap dalam alur apa pun yang disebarkan kepada mereka. Dengan pemisahan peran yang lengkap antara pemilik infrastruktur (lingkungan) dan aplikasi (alur), Anda akan memastikan sign off manual untuk penyebaran dalam alur tertentu dan mendapatkan kontrol pusat saat menerapkan pemeriksaan yang sama di semua penyebaran ke lingkungan.
Eksekusi alur yang disebarkan ke dev akan berhenti untuk mendapatkan persetujuan pada awal tahap.
Peningkatan batas dan frekuensi untuk jeda pada gerbang
Sebelumnya, batas jeda pada gerbang dalam alur rilis adalah tiga hari. Dengan pembaruan ini, batas jeda telah ditingkatkan menjadi 15 hari agar gerbang memiliki durasi yang lebih lama. Kami juga meningkatkan frekuensi gerbang menjadi 30 menit.
Templat gambar kompilasi baru untuk Dockerfile
Sebelumnya, saat membuat alur baru untuk Dockerfile dalam pembuatan alur baru, templat merekomendasikan pendorongan gambar ke Azure Container Registry dan penyebaran ke Azure Kubernetes Service. Kami menambahkan templat baru agar Anda dapat membuat gambar menggunakan agen tanpa perlu melakukan pendorongan ke registri kontainer.
Tugas baru untuk mengonfigurasi pengaturan aplikasi Azure App Service
Azure App Service memungkinkan konfigurasi melalui berbagai pengaturan seperti pengaturan aplikasi, string koneksi, dan pengaturan konfigurasi umum lainnya. Kami sekarang memiliki tugas Azure Pipelines baru Pengaturan Azure App Service yang mendukung konfigurasi pengaturan ini secara massal menggunakan sintaks JSON di aplikasi web Anda atau slot penyebarannya. Tugas ini dapat digunakan bersama dengan tugas layanan Aplikasi lainnya untuk menyebarkan, mengelola, dan mengonfigurasi aplikasi Web, aplikasi Fungsi, atau App Services kontainer lainnya.
Azure App Service sekarang mendukung Pertukaran dengan pratinjau
Azure App Service sekarang mendukung Pertukaran dengan pratinjau pada slot penyebarannya. Ini adalah cara yang baik untuk memvalidasi aplikasi dengan konfigurasi produksi sebelum aplikasi benar-benar ditukar dari slot penahapan ke slot produksi. Tindakan ini juga akan memastikan bahwa slot target/produksi tidak mengalami waktu henti.
Tugas Azure App Service sekarang mendukung pertukaran multi-fase ini melalui tindakan baru berikut:
- Mulai Pertukaran dengan Pratinjau - Memulai pertukaran dengan pratinjau (pertukaran multi-fase) dan menerapkan konfigurasi slot target (misalnya, slot produksi) ke slot sumber.
- Selesaikan Pertukaran dengan Pratinjau - Saat Anda siap untuk menyelesaikan pertukaran yang tertunda, pilih tindakan Selesaikan Pertukaran dengan Pratinjau.
- Batalkan Pertukaran dengan Pratinjau - Untuk membatalkan pertukaran yang tertunda, pilih Batalkan Pertukaran dengan Pratinjau.
Filter tingkat tahap untuk artefak Azure Container Registry dan Docker Hub
Sebelumnya, filter ekspresi reguler untuk artefak Azure Container Registry dan Docker Hub hanya tersedia di tingkat alur rilis. Mereka sekarang telah ditambahkan pada tingkat tahapan juga.
Penyempurnaan persetujuan dalam alur YAML
Kami telah mengaktifkan konfigurasi persetujuan pada koneksi layanan dan kumpulan agen. Untuk persetujuan, kami mengikuti pemisahan peran antara pemilik infrastruktur dan pengembang. Dengan mengonfigurasi persetujuan pada sumber daya Anda seperti lingkungan, koneksi layanan, dan kumpulan agen, Anda akan yakin bahwa semua eksekusi alur yang menggunakan sumber daya akan memerlukan persetujuan terlebih dahulu.
Pengalaman ini mirip dengan mengonfigurasi persetujuan untuk lingkungan. Ketika persetujuan tertunda pada sumber daya yang direferensikan dalam suatu tahap, eksekusi alur menunggu sampai alur disetujui secara manual.
Dukungan pengujian struktur kontainer di Alur Azure
Penggunaan kontainer dalam aplikasi meningkat diikuti dengan kebutuhan akan pengujian dan validasi yang kuat. Azure Pipelines sekarang menghadirkan dukungan untuk Pengujian Struktur Kontainer. Kerangka kerja ini menyediakan cara yang nyaman dan kuat untuk memverifikasi konten dan struktur kontainer Anda.
Anda dapat memvalidasi struktur gambar berdasarkan empat kategori pengujian yang dapat dieksekusi bersama-sama: pengujian perintah, pengujian keberadaan file, pengujian konten file, dan pengujian metadata. Anda dapat menggunakan hasilnya dalam alur untuk membuat keputusan go/no go. Data pengujian tersedia dalam eksekusi alur dengan pesan kesalahan untuk membantu Anda memecahkan masalah kegagalan dengan lebih baik.
Masukkan file konfigurasi dan detail gambar
Ujilah data dan buat ringkasan
Dekorator alur untuk alur rilis
Dekorator alur memungkinkan penambahan langkah ke awal dan akhir setiap pekerjaan. Ini berbeda dengan penambahan langkah-langkah ke satu definisi karena hal tersebut berlaku untuk semua alur dalam koleksi.
Kami telah mendukung dekorator untuk kompilasi dan alur YAML, sedangkan pelanggan menggunakannya untuk mengontrol langkah-langkah dalam pekerjaan mereka secara terpusat. Kami sekarang memperluas dukungan untuk merilis alur juga. Anda dapat membuat ekstensi untuk menambahkan langkah-langkah yang menargetkan titik kontribusi baru dan mereka akan ditambahkan ke semua pekerjaan agen dalam alur rilis.
Menyebarkan Azure Resource Manager (ARM) ke tingkat grup langganan dan manajemen
Sebelumnya, kami hanya mendukung penyebaran ke tingkat Grup Sumber Daya. Dengan pembaruan ini, kami telah menambahkan dukungan untuk menyebarkan templat ARM ke tingkat grup langganan dan manajemen. Ini akan membantu Anda saat menyebarkan sekumpulan sumber daya bersama-sama tetapi menempatkannya di grup sumber daya atau langganan yang berbeda. Misalnya, menyebarkan mesin virtual cadangan untuk Azure Site Recovery ke grup sumber daya dan lokasi terpisah.
Kemampuan CD untuk alur YAML multi-tahap Anda
Anda sekarang dapat menggunakan artefak yang diterbitkan oleh alur CI Anda dan mengaktifkan pemicu penyelesaian alur. Dalam alur YAML multi-tahap, kami memperkenalkan pipelines
sebagai sumber daya. Di YAML, Anda sekarang dapat merujuk ke alur lain dan juga mengaktifkan pemicu CD.
Berikut adalah skema YAML terperinci untuk sumber daya alur.
resources:
pipelines:
- pipeline: MyAppCI # identifier for the pipeline resource
project: DevOpsProject # project for the build pipeline; optional input for current project
source: MyCIPipeline # source pipeline definition name
branch: releases/M159 # branch to pick the artifact, optional; defaults to all branches
version: 20190718.2 # pipeline run number to pick artifact; optional; defaults to last successfully completed run
trigger: # Optional; Triggers are not enabled by default.
branches:
include: # branches to consider the trigger events, optional; defaults to all branches.
- main
- releases/*
exclude: # branches to discard the trigger events, optional; defaults to none.
- users/*
Selain itu, Anda dapat mengunduh artefak yang diterbitkan oleh sumber daya alur Anda menggunakan tugas - download
.
steps:
- download: MyAppCI # pipeline resource identifier
artifact: A1 # name of the artifact to download; optional; defaults to all artifacts
Untuk detail selengkapnya, lihat dokumentasi mengunduh artefak di sini.
Mengatur strategi penyebaran canary pada lingkungan untuk Kubernetes
Salah satu keuntungan utama dari pengiriman berkelanjutan pembaruan aplikasi adalah kemampuan untuk segera mendorong pembaruan ke dalam produksi untuk layanan mikro tertentu. Ini memberi Anda kemampuan untuk segera merespons perubahan dalam persyaratan bisnis. Lingkungan diperkenalkan sebagai konsep kelas satu yang memungkinkan pengaturan strategi penyebaran dan memfasilitasi rilis waktu henti nol. Sebelumnya, kami mendukung strategi runOnce yang menjalankan langkah-langkah terlebih dahulu secara berurutan. Dengan dukungan untuk strategi canary dalam alur multi-tahap, Anda sekarang dapat mengurangi risiko dengan secara perlahan melanjutkan perubahan ke subset kecil. Seraya semakin yakin pada versi baru, Anda dapat mulai melanjutkannya ke lebih banyak server di infrastruktur Anda, dan merutekan lebih banyak pengguna ke sana.
jobs:
- deployment:
environment: musicCarnivalProd
pool:
name: musicCarnivalProdPool
strategy:
canary:
increments: [10,20]
preDeploy:
steps:
- script: initialize, cleanup....
deploy:
steps:
- script: echo deploy updates...
- task: KubernetesManifest@0
inputs:
action: $(strategy.action)
namespace: 'default'
strategy: $(strategy.name)
percentage: $(strategy.increment)
manifests: 'manifest.yml'
postRouteTaffic:
pool: server
steps:
- script: echo monitor application health...
on:
failure:
steps:
- script: echo clean-up, rollback...
success:
steps:
- script: echo checks passed, notify...
Strategi canary untuk Kuberenetes akan terlebih dahulu menyebarkan perubahan dengan 10% pod diikuti oleh 20% sambil memantau kesehatan selama postRouteTraffic. Jika semua berjalan dengan baik, dukungan penggunaan 100% akan diberikan.
Kami mencari umpan balik awal tentang dukungan untuk sumber daya mesin virtual di lingkungan dan menjalankan strategi penyebaran berkelanjutan di beberapa komputer. Hubungi kami untuk mendaftar.
Kebijakan persetujuan untuk alur YAML
Dalam alur YAML, kami mengikuti konfigurasi persetujuan yang dikontrol pemilik sumber daya. Pemilik sumber daya mengonfigurasi persetujuan untuk sumber daya dan saluran apa pun yang menggunakan jeda sumber daya untuk persetujuan sebelum tahap yang menggunakan sumber daya dimulai. Pemilik aplikasi berbasis SOX umumnya membatasi pemohon penyebaran agar tidak menyetujui penyebaran mereka sendiri.
Anda sekarang dapat menggunakan opsi persetujuan tingkat lanjut untuk mengonfigurasi kebijakan persetujuan seperti pemohon tidak boleh menyetujui, serta memerlukan persetujuan dari subset pengguna dan jeda persetujuan.
ACR sebagai sumber daya alur kelas satu
Jika Anda perlu menggunakan gambar kontainer yang diterbitkan ke ACR (Azure Container Registry) sebagai bagian dari alur Anda dan memicu alur Anda setiap kali gambar baru diterbitkan, Anda dapat menggunakan sumber daya kontainer ACR.
resources:
containers:
- container: MyACR #container resource alias
type: ACR
azureSubscription: RMPM #ARM service connection
resourceGroup: contosoRG
registry: contosodemo
repository: alphaworkz
trigger:
tags:
include:
- production
Selain itu, meta-data gambar ACR dapat diakses menggunakan variabel yang telah ditentukan sebelumnya. Daftar berikut mencakup variabel ACR yang tersedia untuk menentukan sumber daya kontainer ACR di alur Anda.
resources.container.<Alias>.type
resources.container.<Alias>.registry
resources.container.<Alias>.repository
resources.container.<Alias>.tag
resources.container.<Alias>.digest
resources.container.<Alias>.URI
resources.container.<Alias>.location
Penyempurnaan untuk mengevaluasi kebijakan pemeriksaan artefak dalam alur
Kami telah meningkatkan evaluasi pemeriksaan artefak untuk mempermudah penambahan kebijakan dari daftar definisi kebijakan unik. Definisi kebijakan akan dibuat secara otomatis dan ditambahkan ke periksa konfigurasi yang dapat diperbarui jika diperlukan.
Dukungan untuk variabel output dalam pekerjaan penyebaran
Anda sekarang dapat menentukan variabel output dalam kait siklus hidup pekerjaan penyebaran dan menggunakannya dalam langkah dan pekerjaan hilir lainnya dalam tahap yang sama.
Saat menjalankan strategi penyebaran, Anda dapat mengakses variabel output di seluruh pekerjaan dengan menggunakan sintaks berikut.
- Untuk strategi runOnce :
$[dependencies.<job-name>.outputs['<lifecycle-hookname>.<step-name>.<variable-name>']]
- Untuk strategi canary :
$[dependencies.<job-name>.outputs['<lifecycle-hookname>_<increment-value>.<step-name>.<variable-name>']]
- Untuk strategi berkelanjutan :
$[dependencies.<job-name>.outputs['<lifecycle-hookname>_<resource-name>.<step-name>.<variable-name>']]
// Set an output variable in a lifecycle hook of a deployment job executing canary strategy
- deployment: A
pool:
vmImage: 'ubuntu-16.04'
environment: staging
strategy:
canary:
increments: [10,20] # creates multiple jobs, one for each increment. Output variable can be referenced with this.
deploy:
steps:
- script: echo "##vso[task.setvariable variable=myOutputVar;isOutput=true]this is the deployment variable value"
name: setvarStep
- script: echo $(setvarStep.myOutputVar)
name: echovar
// Map the variable from the job
- job: B
dependsOn: A
pool:
vmImage: 'ubuntu-16.04'
variables:
myVarFromDeploymentJob: $[ dependencies.A.outputs['deploy_10.setvarStep.myOutputVar'] ]
steps:
- script: "echo $(myVarFromDeploymentJob)"
name: echovar
Pelajari selengkapnya tentang cara mengatur variabel output multi-pekerjaan
Hindari pemutaran kembali perubahan penting
Dalam alur rilis klasik, penyebaran terjadwal biasanya diandalkan untuk pembaruan reguler. Tetapi, ketika mengalami perbaikan penting, Anda dapat memilih untuk memulai penyebaran manual di luar band. Saat melakukannya, rilis yang lebih lama terus tetap terjadwal. Hal ini menimbulkan tantangan karena penyebaran manual akan digulung balik ketika penyebaran dilanjutkan sesuai jadwal. Banyak pengguna seperti Anda melaporkan masalah ini dan kami sekarang telah memperbaikinya. Dengan perbaikan, semua penyebaran terjadwal yang lebih lama ke lingkungan akan dibatalkan saat Anda memulai penyebaran secara manual. Ini hanya berlaku ketika opsi antrean dipilih sebagai "Sebarkan yang terbaru dan batalkan yang lain".
Otorisasi sumber daya yang disederhanakan dalam alur YAML
Sumber daya adalah apa pun yang digunakan oleh alur yang berada di luar alur. Sumber daya harus diotorisasi sebelum dapat digunakan. Sebelumnya, saat menggunakan sumber daya yang tidak sah dalam alur YAML, sumber daya gagal dengan kesalahan otorisasi sumber daya. Anda harus mengotorisasi sumber daya dari halaman ringkasan eksekusi yang gagal. Selain itu, alur gagal jika menggunakan variabel yang mereferensikan sumber daya yang tidak sah.
Kami sekarang mempermudah pengelolaan otorisasi sumber daya. Alih-alih gagal mengeksekusi, eksekusi akan menunggu izin pada sumber daya saat tahap yang menggunakan sumber daya dimulai. Pemilik sumber daya dapat melihat alur dan mengotorisasi sumber daya dari halaman Keamanan.
Evaluasi pemeriksaan artefak
Anda sekarang dapat menentukan serangkaian kebijakan dan menambahkan evaluasi kebijakan sebagai pemeriksaan pada lingkungan untuk artefak gambar kontainer. Saat alur dieksekusi, eksekusi dijeda sebelum memulai tahap yang menggunakan lingkungan. Kebijakan yang ditentukan dievaluasi berdasarkan metadata yang tersedia untuk gambar yang sedang disebarkan. Pemeriksaan lolos jika kebijakan berhasil dan menandai tahap dengan status gagal jika pemeriksaan tersebut gagal.
Pembaruan untuk tugas penyebaran templat ARM
Sebelumnya, kami tidak memfilter koneksi layanan dalam tugas penyebaran templat ARM. Hal ini dapat menggagalkan penyebaran jika Anda memilih koneksi layanan cakupan yang lebih rendah saat menyebarkan templat ARM ke cakupan yang lebih luas. Sekarang, kami menambahkan pemfilteran koneksi layanan untuk memfilter koneksi layanan dengan cakupan yang lebih rendah berdasarkan cakupan penyebaran yang Anda pilih.
ReviewApp di Lingkungan
ReviewApp menyebarkan setiap permintaan pull dari repositori Git Anda ke sumber daya lingkungan dinamis. Peninjau dapat melihat tampilan perubahan tersebut serta bekerja dengan layanan dependen lainnya sebelum digabungkan ke cabang utama dan disebarkan ke produksi. Ini akan memudahkan Anda untuk membuat dan mengelola sumber daya reviewApp dan mendapat manfaat dari semua kemampuan pelacakan dan kemampuan diagnosis pada fitur lingkungan. Dengan menggunakan kata kunci reviewApp, Anda dapat membuat klon sumber daya (secara dinamis membuat sumber daya baru berdasarkan sumber daya yang ada di lingkungan) dan menambahkan sumber daya baru ke lingkungan.
Berikut ini adalah sampel cuplikan YAML tentang menggunakan reviewApp di bawah lingkungan.
jobs:
- deployment:
environment:
name: smarthotel-dev
resourceName: $(System.PullRequest.PullRequestId)
pool:
name: 'ubuntu-latest'
strategy:
runOnce:
pre-deploy:
steps:
- reviewApp: MainNamespace
Mengumpulkan metadata otomatis dan yang ditentukan pengguna dari alur
Sekarang Anda dapat mengaktifkan koleksi metadata otomatis dan yang ditentukan pengguna dari tugas alur. Anda dapat menggunakan metadata untuk menerapkan kebijakan artefak pada lingkungan dengan menggunakan evaluasi pemeriksaan artefak.
Penyebaran mesin virtual pada Lingkungan
Salah satu fitur yang paling banyak diminta di Lingkungan adalah penyebaran mesin virtual. Dengan pembaruan ini, kami mengaktifkan sumber daya Mesin Virtual di Lingkungan. Anda sekarang dapat mengatur penyebaran di beberapa komputer dan melakukan pembaruan berkelanjutan menggunakan alur YAML. Anda juga dapat menginstal agen di setiap server target Anda secara langsung dan mendorong penyebaran berkelanjutan ke server tersebut. Selain itu, Anda dapat menggunakan katalog tugas lengkap pada komputer target Anda.
Penyebaran berkelanjutan menggantikan instans versi aplikasi sebelumnya dengan instans versi baru aplikasi pada satu set komputer (set berkelanjutan) di setiap perulangan.
Misalnya, penyebaran berkelanjutan di bawah ini memperbarui hingga lima target dalam setiap perulangan.
maxParallel
akan menentukan jumlah target yang dapat disebarkan, secara paralel. Pemilihan memperhitungkan jumlah target yang harus tetap tersedia setiap saat, tidak termasuk target yang disebarkan. Pilihan ini juga digunakan untuk menentukan kondisi keberhasilan dan kegagalan selama penyebaran.
jobs:
- deployment:
displayName: web
environment:
name: musicCarnivalProd
resourceType: VirtualMachine
strategy:
rolling:
maxParallel: 5 #for percentages, mention as x%
preDeploy:
steps:
- script: echo initialize, cleanup, backup, install certs...
deploy:
steps:
- script: echo deploy ...
routeTraffic:
steps:
- script: echo routing traffic...
postRouteTaffic:
steps:
- script: echo health check post routing traffic...
on:
failure:
steps:
- script: echo restore from backup ..
success:
steps:
- script: echo notify passed...
Catatan
Dengan pembaruan ini, semua artefak yang tersedia dari alur saat ini dan dari sumber daya alur terkait hanya diunduh dalam deploy
kait siklus hidup. Namun, Anda dapat memilih untuk mengunduh dengan menentukan tugas Unduh Artefak Alur.
Terdapat beberapa celah yang diketahui dalam fitur ini. Misalnya, ketika Anda mencoba kembali suatu tahap, penyebaran akan dieksekusi kembali pada semua mesin virtual bukan hanya target yang gagal. Kami berupaya menutup celah ini dalam pembaruan mendatang.
Kontrol tambahan atas penyebaran Anda
Azure Pipelines telah mendukung penyebaran yang dikontrol dengan persetujuan manual selama beberapa waktu saat ini. Dengan penyempurnaan terbaru, Anda sekarang memiliki kontrol tambahan atas penyebaran Anda. Selain persetujuan, pemilik sumber daya sekarang dapat menambahkan checks
otomatis untuk memverifikasi kebijakan keamanan dan kualitas. Pemeriksaan ini dapat digunakan untuk memicu operasi dan menunggunya selesai. Dengan menggunakan pemeriksaan tambahan, Anda sekarang dapat menentukan kriteria kesehatan berdasarkan beberapa sumber dan yakin bahwa semua penyebaran yang menargetkan sumber daya Anda aman, terlepas dari alur YAML yang melakukan penyebaran. Evaluasi setiap pemeriksaan dapat diulang secara berkala berdasarkan Interval Coba Lagi yang ditentukan untuk pemeriksaan.
Pemeriksaan tambahan berikut sekarang tersedia:
- Panggil REST API apa pun dan lakukan validasi berdasarkan isi respons atau panggilan balik dari layanan eksternal
- Panggil fungsi Azure dan lakukan validasi berdasarkan respons atau panggilan balik dari fungsi
- Buatlah kueri aturan Azure Monitor untuk pemberitahuan aktif
- Pastikan alur memperluas satu atau beberapa templat YAML
Pemberitahuan persetujuan
Saat Anda menambahkan persetujuan ke lingkungan atau koneksi layanan, semua alur multi-tahap yang menggunakan sumber daya secara otomatis menunggu persetujuan di awal tahap. Pemberi persetujuan yang ditunjuk perlu menyelesaikan persetujuan sebelum alur dapat dilanjutkan.
Dengan pembaruan ini, pemberi izin dikirimi pemberitahuan email tentang persetujuan yang tertunda. Pengguna dan pemilik tim dapat menolak atau mengonfigurasi langganan kustom dengan menggunakan pengaturan pemberitahuan.
Mengonfigurasi Strategi Penyebaran dari portal Azure
Dengan kemampuan ini, kami telah mempermudah Anda untuk mengonfigurasi alur yang menggunakan strategi penyebaran pilihan Anda, misalnya, Rolling, Canary, atau Blue-Green. Dengan menggunakan strategi unik ini, Anda dapat melanjutkan pembaruan dengan cara yang aman dan mengurangi risiko penyebaran terkait. Untuk mengakses ini, klik pengaturan 'Pengiriman Berkelanjutan' di Mesin Virtual Azure. Di panel konfigurasi, Anda akan diminta untuk memilih detail tentang proyek Azure DevOps tempat alur akan dibuat, grup penyebaran, alur kompilasi yang menerbitkan paket yang akan disebarkan dan strategi penyebaran pilihan Anda. Ke depannya, alur fungsional penuh yang menyebarkan paket yang dipilih ke Mesin Virtual ini akan dikonfigurasi.
Untuk detail selengkapnya, lihat dokumentasi kami tentang mengonfigurasi Strategi Penyebaran.
Parameter runtime
Dengan parameter runtime, Anda dapat memiliki kontrol lebih besar atas nilai apa yang dapat diteruskan ke alur. Tidak seperti variabel, parameter runtime memiliki jenis data dan tidak secara otomatis menjadi variabel lingkungan. Dengan parameter runtime Anda dapat:
- Memberikan nilai yang berbeda kepada skrip dan tugas saat runtime
- Mengontrol jenis parameter, rentang yang diizinkan, dan default
- Memilih pekerjaan dan tahapan secara dinamis dengan ekspresi templat
Untuk mempelajari selengkapnya tentang parameter runtime, lihat dokumentasi di sini.
Gunakan perluasan kata kunci dalam alur
Saat ini, alur dapat diperhitungkan ke dalam templat, sehingga mendukung penggunaan kembali dan mengurangi boilerplate. Struktur keseluruhan alur masih ditentukan oleh file YAML akar. Dengan pembaruan ini, kami menambahkan cara yang lebih terstruktur untuk menggunakan templat alur. File YAML akar sekarang dapat menggunakan perluasan kata kunci untuk menunjukkan bahwa struktur alur utama dapat ditemukan di file lain. Ini memberi Anda kendali atas segmen mana yang dapat diperluas atau diubah dan segmen mana yang diperbaiki. Kami juga telah meningkatkan parameter alur dengan jenis data untuk memperjelas kait yang dapat Anda sediakan.
Contoh ini menggambarkan cara Anda dapat menyediakan kait sederhana untuk digunakan pembuat alur. Templat akan selalu menjalankan kompilasi, secara opsional akan menjalankan langkah-langkah tambahan yang disediakan oleh alur, lalu menjalankan langkah pengujian opsional.
# azure-pipelines.yml
extends:
template: build-template.yml
parameters:
runTests: true
postBuildSteps:
- script: echo This step runs after the build!
- script: echo This step does too!
# build-template.yml
parameters:
- name: runTests
type: boolean
default: false
- name: postBuildSteps
type: stepList
default: []
steps:
- task: MSBuild@1 # this task always runs
- ${{ if eq(parameters.runTests, true) }}:
- task: VSTest@2 # this task is injected only when runTests is true
- ${{ each step in parameters.postBuildSteps }}:
- ${{ step }}
Variabel kontrol yang dapat ditimpa pada waktu antrean
Sebelumnya, Anda dapat menggunakan UI atau REST API untuk memperbarui nilai variabel apa pun sebelum memulai eksekusi baru. Meskipun pembuat alur dapat menandai variabel tertentu sebagai _settable at queue time_
, sistem tidak memberlakukan ini, atau mencegah variabel lain diatur. Dengan kata lain, pengaturan hanya digunakan untuk meminta input tambahan saat memulai eksekusi baru.
Kami telah menambahkan pengaturan koleksi baru yang memberlakukan parameter _settable at queue time_
. Ini akan memberi Anda kontrol atas variabel mana yang dapat diubah saat memulai eksekusi baru. Ke depannya, Anda tidak dapat mengubah variabel yang tidak ditandai oleh penulis sebagai _settable at queue time_
.
Catatan
Pengaturan ini nonaktif secara default dalam koleksi yang ada, tetapi akan aktif secara default saat Anda membuat koleksi Azure DevOps baru.
Variabel baru yang telah ditentukan sebelumnya dalam alur YAML
Variabel memberi Anda cara yang mudah untuk mendapatkan bit kunci data ke berbagai bagian alur. Dengan pembaruan ini, kami telah menambahkan beberapa variabel yang telah ditentukan sebelumnya ke pekerjaan penyebaran. Variabel ini secara otomatis diatur oleh sistem, tercakup ke pekerjaan penyebaran tertentu dan bersifat baca-saja.
- Environment.Id - ID lingkungan.
- Environment.Name - Nama lingkungan yang ditargetkan oleh pekerjaan penyebaran.
- Environment.ResourceId - ID sumber daya di lingkungan yang ditargetkan oleh pekerjaan penyebaran.
- Environment.ResourceName - Nama sumber daya di lingkungan yang ditargetkan oleh pekerjaan penyebaran.
Periksa beberapa repositori
Alur sering kali bergantung pada berbagai repositori. Anda dapat memiliki repositori berbeda dengan sumber, alat, skrip, atau item lain yang Anda perlukan untuk membuat kode. Sebelumnya, Anda harus menambahkan repositori ini sebagai submodul atau sebagai skrip manual untuk menjalankan git checkout. Sekarang Anda dapat mengambil dan memeriksa repositori lain, selain repositori yang Anda gunakan untuk menyimpan saluran YAML Anda.
Misalnya, jika Anda memiliki repositori yang disebut MyCode dengan alur YAML dan repositori kedua yang disebut Tools, alur YAML Anda akan terlihat seperti ini:
resources:
repositories:
- repository: tools
name: Tools
type: git
steps:
- checkout: self
- checkout: tools
- script: dir $(Build.SourcesDirectory)
Langkah ketiga akan menampilkan dua direktori, MyCode dan Tools di direktori sumber.
Repositori Azure Repos Git didukung. Untuk informasi selengkapnya, lihat Pemeriksaan multi-repo.
Mendapatkan detail saat runtime tentang beberapa repositori
Saat alur berjalan, Azure Pipelines menambahkan informasi tentang repositori, cabang, dan penerapan yang memicu eksekusi. Setelah alur YAML mendukung pemeriksaan beberapa repositori, Anda mungkin juga ingin mengetahui repositori, cabang, dan penerapan yang diperiksa untuk repositori lain. Data ini tersedia melalui ekspresi runtime, yang sekarang dapat Anda petakan ke dalam variabel. Contohnya:
resources:
repositories:
- repository: other
type: git
name: MyProject/OtherTools
variables:
tools.ref: $[ resources.repositories['other'].ref ]
steps:
- checkout: self
- checkout: other
- bash: echo "Tools version: $TOOLS_REF"
Izinkan repositori menjadi referensi untuk koleksi Azure Repos lainnya
Sebelumnya, ketika Anda mereferensikan repositori dalam alur YAML, semua repositori Azure Repos harus berada dalam koleksi yang sama dengan alur. Sekarang, Anda dapat menunjuk ke repositori di koleksi lain menggunakan koneksi layanan. Contohnya:
resources:
repositories:
- repository: otherrepo
name: ProjectName/RepoName
endpoint: MyServiceConnection
steps:
- checkout: self
- checkout: otherrepo
MyServiceConnection
menunjuk ke koleksi Azure DevOps lain dan memiliki kredensial yang dapat mengakses repositori di proyek lain. Baik repositori, self
dan otherrepo
, akan berakhir cek keluar.
Penting
MyServiceConnection
harus berupa koneksi layanan Azure Repos/Team Foundation Server, lihat gambar di bawah ini.
Meta-data sumber daya alur sebagai variabel yang telah ditentukan sebelumnya
Kami telah menambahkan variabel yang telah ditentukan sebelumnya untuk sumber daya alur YAML dalam alur. Berikut adalah daftar variabel sumber daya alur yang tersedia.
resources.pipeline.<Alias>.projectName
resources.pipeline.<Alias>.projectID
resources.pipeline.<Alias>.pipelineName
resources.pipeline.<Alias>.pipelineID
resources.pipeline.<Alias>.runName
resources.pipeline.<Alias>.runID
resources.pipeline.<Alias>.runURI
resources.pipeline.<Alias>.sourceBranch
resources.pipeline.<Alias>.sourceCommit
resources.pipeline.<Alias>.sourceProvider
resources.pipeline.<Alias>.requestedFor
resources.pipeline.<Alias>.requestedForID
kustomisasi dan kompose sebagai opsi bake di tugas KubernetesManifest
kustomisasi (bagian dari Kubernetes sig-cli) memungkinkan Anda menyesuaikan file YAML mentah dan bebas templat untuk beberapa tujuan dan membiarkan YAML asli tidak tersentuh. Opsi untuk kustomisasi telah ditambahkan di bawah tindakan bake tugas KubernetesManifest sehingga folder apa pun yang berisi file kustomization.yaml dapat digunakan untuk menghasilkan file manifes yang digunakan dalam tindakan penyebaran tugas KubernetesManifest.
steps:
- task: KubernetesManifest@0
name: bake
displayName: Bake K8s manifests from Helm chart
inputs:
action: bake
renderType: kustomize
kustomizationPath: folderContainingKustomizationFile
- task: KubernetesManifest@0
displayName: Deploy K8s manifests
inputs:
kubernetesServiceConnection: k8sSC1
manifests: $(bake.manifestsBundle)
kompose akan mengubah file Docker Compose menjadi sumber daya Kubernetes.
steps:
- task: KubernetesManifest@0
name: bake
displayName: Bake K8s manifests from Helm chart
inputs:
action: bake
renderType: kompose
dockerComposeFile: docker-compose.yaml
- task: KubernetesManifest@0
displayName: Deploy K8s manifests
inputs:
kubernetesServiceConnection: k8sSC1
manifests: $(bake.manifestsBundle)
Dukungan untuk kredensial admin kluster dalam tugas HelmDeploy
Sebelumnya, tugas HelmDeploy menggunakan kredensial pengguna kluster untuk penyebaran. Ini menghasilkan permintaan masuk interaktif dan alur yang gagal untuk kluster yang diaktifkan RBAC berbasis Azure Active Directory. Untuk mengatasi masalah ini, kami menambahkan kotak centang yang memungkinkan Anda menggunakan kredensial admin kluster alih-alih kredensial pengguna kluster.
Input argumen dalam tugas Docker Compose
Bidang baru telah diperkenalkan dalam tugas Docker Compose agar Anda dapat menambahkan argumen seperti --no-cache
. Argumen akan diturunkan oleh tugas saat menjalankan perintah seperti kompilasi.
Peningkatan tugas rilis GitHub
Kami telah melakukan beberapa penyempurnaan pada tugas Rilis GitHub. Anda sekarang dapat memiliki kontrol yang lebih baik atas pembuatan rilis menggunakan bidang pola tag dengan menentukan ekspresi reguler tag dan rilis akan dibuat hanya ketika penerapan pemicu diberi tag dengan string yang cocok.
Kami juga telah menambahkan kemampuan untuk menyesuaikan pembuatan dan pemformatan changelog. Di bagian baru untuk konfigurasi changelog, Anda sekarang dapat menentukan rilis yang harus dibandingkan dengan rilis saat ini. Rilis Perbandingan dengan dapat menjadi rilis lengkap terakhir (tidak termasuk pra-rilis), rilis non-draf terakhir atau rilis sebelumnya yang cocok dengan tag rilis yang Anda berikan. Selain itu, tugas menyediakan bidang jenis changelog untuk memformat changelog. Berdasarkan pilihan, changelog akan menampilkan daftar penerapan atau daftar masalah/PR yang dikategorikan berdasarkan label.
Tugas alat penginstal Agen Kebijakan Terbuka
Agen Kebijakan Terbuka adalah mesin kebijakan tujuan umum sumber terbuka yang memungkinkan penegakan kebijakan terpadu dan sadar konteks. Kami telah menambahkan tugas alat penginstal Agen Kebijakan Terbuka. Ini sangat berguna untuk penegakan kebijakan dalam alur sehubungan dengan Infrastruktur sebagai penyedia Kode.
Misalnya, Agen Kebijakan Terbuka dapat mengevaluasi file kebijakan Rego dan paket Terraform dalam alur.
task: OpenPolicyAgentInstaller@0
inputs:
opaVersion: '0.13.5'
Dukungan untuk skrip PowerShell di tugas Azure CLI
Sebelumnya, Anda dapat menjalankan skrip batch dan bash sebagai bagian dari tugas Azure CLI. Dengan pembaruan ini, kami menambahkan dukungan untuk skrip inti PowerShell dan PowerShell ke tugas tersebut.
Penyebaran canary berbasis Antarmuka Jala Layanan di tugas KubernetesManifest
Sebelumnya ketika strategi canary ditentukan dalam tugas KubernetesManifest, tugas akan membuat beban kerja dasar dan canary yang replikanya sama dengan persentase replika yang digunakan untuk beban kerja yang stabil. Ini tidak sama persis dengan memisahkan lalu lintas hingga persentase yang diinginkan pada tingkat permintaan. Untuk mengatasi hal ini, kami telah menambahkan dukungan untuk penyebaran canary berbasis Antarmuka Jala Layanan ke tugas KubernetesManifest.
Abstraksi Antarmuka Jala Layanan memungkinkan konfigurasi plug-and-play dengan penyedia mesh layanan seperti Linkerd dan Istio. Sekarang tugas KubernetesManifest bekerja keras untuk memetakan objek TrafficSplit SMI ke layanan stabil, garis besar, dan canary selama siklus hidup strategi penyebaran. Persentase pemisahan lalu lintas yang diinginkan antara stabil, garis besar, dan canary lebih akurat karena persentase pemisahan lalu lintas dikontrol pada permintaan di bidang jala layanan.
Berikut ini adalah sampel proses penyebaran canary berbasis SMI secara berkelanjutan.
- deployment: Deployment
displayName: Deployment
pool:
vmImage: $(vmImage)
environment: ignite.smi
strategy:
canary:
increments: [25, 50]
preDeploy:
steps:
- task: KubernetesManifest@0
displayName: Create/update secret
inputs:
action: createSecret
namespace: smi
secretName: $(secretName)
dockerRegistryEndpoint: $(dockerRegistryServiceConnection)
deploy:
steps:
- checkout: self
- task: KubernetesManifest@0
displayName: Deploy canary
inputs:
action: $(strategy.action)
namespace: smi
strategy: $(strategy.name)
trafficSplitMethod: smi
percentage: $(strategy.increment)
baselineAndCanaryReplicas: 1
manifests: |
manifests/deployment.yml
manifests/service.yml
imagePullSecrets: $(secretName)
containers: '$(containerRegistry)/$(imageRepository):$(Build.BuildId)'
postRouteTraffic:
pool: server
steps:
- task: Delay@1
inputs:
delayForMinutes: '2'
Tugas Penyalinan File Azure sekarang mendukung AzCopy V10
Tugas penyalinan file Azure dapat digunakan dalam alur kompilasi atau rilis untuk menyalin file ke blob penyimpanan Microsoft atau mesin virtual (VM). Tugas ini menggunakan AzCopy, kompilasi utilitas baris perintah untuk menyalin data dengan cepat dari dan ke akun penyimpanan Azure. Dengan pembaruan ini, kami telah menambahkan dukungan untuk AzCopy V10 yang merupakan versi terbaru AzCopy.
Perintah azcopy copy
hanya mendukung argumen yang terkait dengannya. Karena perubahan sintaks AzCopy, beberapa kemampuan yang ada tidak tersedia di AzCopy V10. Ini termasuk:
- Menentukan lokasi log
- Membersihkan file log dan rencana setelah penyalinan
- Lanjutkan penyalinan jika pekerjaan gagal
Kapabilitas tambahan yang didukung dalam versi tugas ini adalah:
- Simbol wildcard dalam nama/jalur file sumber
- Menyimpulkan jenis konten berdasarkan ekstensi file jika tidak ada argumen yang tersedia
- Menentukan verbositas log untuk file log dengan meneruskan argumen
Meningkatkan keamanan alur dengan membatasi cakupan token akses
Setiap pekerjaan yang berjalan di Alur Azure mendapatkan token akses. Token akses digunakan oleh tugas dan skrip Anda untuk memanggil kembali ke Azure DevOps. Misalnya, kami menggunakan token akses untuk mendapatkan kode sumber, mengunggah log, hasil pengujian, artefak, atau untuk melakukan panggilan REST ke Azure DevOps. Token akses baru dibuat untuk setiap pekerjaan, dan akan kedaluwarsa setelah pekerjaan selesai. Dengan pembaruan ini, kami menambahkan penyempurnaan berikut.
Mencegah token mengakses sumber daya di luar proyek tim
Hingga saat ini, cakupan default semua alur adalah koleksi proyek tim. Anda dapat mengubah cakupan menjadi proyek tim dalam alur kompilasi klasik. Namun, Anda tidak memiliki kontrol tersebut untuk rilis klasik atau alur YAML. Dengan pembaruan ini, kami memperkenalkan pengaturan koleksi untuk memaksa setiap pekerjaan mendapatkan token cakupan proyek apa pun yang dikonfigurasi dalam alur. Kami juga menambahkan pengaturan di tingkat proyek. Sekarang, setiap proyek dan koleksi baru yang Anda buat akan secara otomatis mengaktifkan pengaturan ini.
Catatan
Pengaturan koleksi mengambil alih pengaturan proyek.
Mengaktifkan pengaturan ini di proyek dan koleksi yang ada dapat menyebabkan alur tertentu gagal jika alur Anda mengakses sumber daya yang berada di luar proyek tim dengan menggunakan token akses. Untuk mengurangi kegagalan alur, Anda dapat secara eksplisit memberikan akses Akun Layanan Kompilasi Proyek ke sumber daya yang diinginkan. Kami sangat menyarankan agar Anda mengaktifkan pengaturan keamanan ini.
Membatasi akses cakupan repositori layanan kompilasi
Melalui kompilasi untuk meningkatkan keamanan alur dengan membatasi cakupan token akses, Azure Pipelines sekarang dapat membatasi akses repositorinya hanya ke repositori yang diperlukan oleh alur berbasis YAML. Artinya, jika token akses alur bocor, yang terlihat hanyalah repositori yang digunakan dalam alur. Sebelumnya, token akses baik untuk repositori Azure Repos apa pun dalam proyek, atau bisa jadi seluruh koleksi.
Fitur ini akan diaktifkan secara default untuk proyek dan koleksi baru. Untuk koleksi yang sudah ada, Anda harus mengaktifkannya di Pengaturan Koleksi>Pengaturan>Alur. Saat menggunakan fitur ini, semua repositori yang diperlukan oleh kompilasi (bahkan yang Anda kloning menggunakan skrip) harus disertakan dalam sumber daya repositori alur.
Menghapus izin tertentu untuk token akses
Secara default, kami memberikan sejumlah izin ke token akses, salah satu izin ini adalah Kompilasi antrean. Dengan pembaruan ini, kami menghapus izin ini ke token akses. Jika alur Anda memerlukan izin ini, Anda dapat secara eksplisit memberikannya ke Akun Layanan Kompilasi Proyek atau Akun Layanan Kompilasi Koleksi Proyek tergantung pada token yang Anda gunakan.
Keamanan tingkat proyek untuk koneksi layanan
Kami menambahkan keamanan tingkat hub untuk koneksi layanan. Sekarang, Anda dapat menambahkan/menghapus pengguna, menetapkan peran, dan mengelola akses di tempat terpusat untuk semua koneksi layanan.
Penargetan langkah dan isolasi perintah
Azure Pipelines mendukung menjalankan pekerjaan baik dalam kontainer atau di host agen. Sebelumnya, seluruh pekerjaan ditetapkan ke salah satu dari dua target tersebut. Sekarang, langkah individual (tugas atau skrip) dapat berjalan pada target yang Anda pilih. Langkah-langkah juga dapat menargetkan kontainer lain, sehingga alur dapat menjalankan setiap langkah dalam kontainer khusus yang dibuat khusus.
Kontainer dapat bertindak sebagai batas isolasi, yang mencegah kode membuat perubahan tak terduga pada komputer host. Cara langkah-langkah berkomunikasi dengan dan mengakses layanan dari agen tidak terpengaruh dengan mengisolasi langkah-langkah dalam kontainer. Oleh karena itu, kami juga memperkenalkan mode pembatasan perintah yang dapat Anda gunakan dengan target langkah. Mengaktifkan ini akan membatasi layanan yang dapat diminta oleh suatu langkah dari agen. Langkah tersebut tidak akan lagi dapat memasang log, mengunggah artefak, dan operasi tertentu lainnya.
Berikut adalah contoh komprehensif, yang memperlihatkan langkah-langkah yang berjalan pada host dalam kontainer pekerjaan, dan di kontainer lain:
resources:
containers:
- container: python
image: python:3.8
- container: node
image: node:13.2
jobs:
- job: example
container: python
steps:
- script: echo Running in the job container
- script: echo Running on the host
target: host
- script: echo Running in another container, in restricted commands mode
target:
container: node
commands: restricted
Variabel baca-saja
Variabel sistem didokumentasikan dengan status tidak dapat diubah, tetapi dalam praktiknya variabel tersebut dapat ditimpa oleh tugas dan tugas hilir akan mengambil nilai baru. Dengan pembaruan ini, kami memperketat keamanan di sekitar variabel alur untuk membuat variabel sistem dan waktu antrean berstatus baca-saja. Selain itu, Anda dapat membuat variabel YAML baca-saja dengan menandainya sebagai berikut.
variables:
- name: myVar
value: myValue
readonly: true
Akses berbasis peran untuk koneksi layanan
Kami telah menambahkan akses berbasis peran untuk koneksi layanan. Sebelumnya, keamanan koneksi layanan hanya dapat dikelola melalui grup Azure DevOps yang telah ditentukan sebelumnya seperti Administrator titik akhir dan Pembuat Titik Akhir.
Sebagai bagian dari pekerjaan ini, kami telah memperkenalkan peran baru Pembaca, Pengguna, Pembuat, dan Administrator. Anda dapat mengatur peran ini melalui halaman koneksi layanan di proyek Anda dan ini diwarisi oleh koneksi individual. Dan di setiap koneksi layanan, Anda memiliki opsi untuk mengaktifkan atau menonaktifkan pewarisan dan mengambil alih peran dalam cakupan koneksi layanan.
Pelajari selengkapnya tentang keamanan koneksi layanan di sini.
Berbagi koneksi layanan lintas proyek
Kami mengaktifkan dukungan untuk berbagi koneksi layanan di seluruh proyek. Anda sekarang dapat berbagi koneksi layanan dengan proyek Anda secara aman dan terlindungi.
Pelajari selengkapnya tentang berbagi koneksi layanan di sini.
Keterlacakan untuk alur dan sumber daya ACR
Kami memastikan keterlacakan E2E penuh saat alur dan sumber daya kontainer ACR digunakan dalam alur. Untuk setiap sumber daya yang digunakan oleh alur YAML Anda, Anda dapat melacak kembali ke penerapan, item kerja, dan artefak.
Dalam tampilan ringkasan eksekusi alur, Anda bisa melihat:
Versi sumber daya yang memicu eksekusi. Sekarang, alur Anda dapat dipicu setelah menyelesaikan eksekusi alur Azure lain atau ketika gambar kontainer didorong ke ACR.
Penerapan yang dikonsumsi oleh alur. Anda juga dapat menemukan perincian penerapan oleh setiap sumber daya yang digunakan oleh alur.
Item kerja yang terkait dengan setiap sumber daya yang digunakan oleh alur.
Artefak yang tersedia untuk digunakan oleh eksekusi.
Dalam tampilan penyebaran lingkungan, Anda dapat melihat penerapan dan item kerja untuk setiap sumber daya yang disebarkan ke lingkungan.
Dukungan untuk pemasangan pengujian besar
Dengan tugas terbitkan hasil pengujian di Alur Azure, Anda dapat menerbitkan hasil pengujian saat pengujian dijalankan untuk memberikan pengalaman pelaporan dan analitik pengujian yang komprehensif. Hingga saat ini, ada batas 100MB pada pemasangan pengujian untuk eksekusi pengujian dan hasilnya. Ini membatasi pengunggahan file besar seperti crash dump atau video. Dengan pembaruan ini, kami menambahkan dukungan pemasangan pengujian besar sehingga semua data yang tersedia dapat Anda gunakan untuk memecahkan masalah pengujian yang gagal.
Anda mungkin melihat tugas VSTest atau tugas Terbitkan hasil pengujian yang mengembalikan kesalahan 403 atau 407 dalam log. Jika Anda menggunakan kompilasi yang dihost sendiri atau merilis agen di belakang firewall yang memfilter permintaan keluar, Anda harus membuat beberapa perubahan konfigurasi untuk dapat menggunakan fungsionalitas ini.
Untuk memperbaiki masalah ini, Anda sebaiknya memperbarui firewall untuk permintaan keluar ke https://*.vstmrblob.vsassets.io
. Anda dapat menemukan informasi pemecahan masalah dalam dokumentasi di sini.
Catatan
Ini hanya diperlukan jika Anda menggunakan agen Alur Azure yang dihost sendiri dan Anda berada di belakang firewall yang memfilter lalu lintas keluar. Jika Anda menggunakan agen yang dihosting Microsoft di cloud atau yang tidak memfilter lalu lintas jaringan keluar, Anda tidak perlu mengambil tindakan apa pun.
Tampilkan informasi kumpulan yang benar pada setiap pekerjaan
Sebelumnya, ketika Anda menggunakan matriks untuk memperluas pekerjaan atau variabel untuk mengidentifikasi kumpulan, kami terkadang menyelesaikan informasi kumpulan yang salah di halaman log. Masalah-masalah ini telah diselesaikan.
Pemicu CI untuk cabang baru
Tidak memicu kompilasi CI saat cabang baru dibuat dan cabang itu tidak mengalami perubahan adalah permintaan yang sudah lama tertunda. Pertimbangkan contoh berikut:
- Anda menggunakan antarmuka web untuk membuat cabang baru berdasarkan cabang yang ada. Hal ini akan segera memicu kompilasi CI baru jika filter cabang Anda cocok dengan nama cabang baru. Hal ini tidak diinginkan karena konten cabang baru sama jika dibandingkan dengan cabang yang ada.
- Anda memiliki repositori dengan dua folder - aplikasi dan dokumen. Anda menyiapkan filter jalur untuk CI agar sesuai dengan "aplikasi". Dengan kata lain, Anda tidak ingin membuat kompilasi baru jika perubahan telah didorong ke dokumen. Anda membuat cabang baru secara lokal, membuat beberapa perubahan pada dokumen, lalu mendorong cabang tersebut ke server. Sebelumnya, kami memicu kompilasi CI baru. Hal ini tidak diinginkan karena Anda secara eksplisit meminta untuk tidak mencari perubahan dalam folder dokumen. Namun, karena cara kami menangani peristiwa cabang baru, sepertinya perubahan juga telah dilakukan pada folder aplikasi.
Sekarang, kami memiliki cara yang lebih baik dalam menangani CI cabang baru untuk mengatasi masalah ini. Saat Anda menerbitkan cabang baru, kami secara eksplisit mencari penerapan baru di cabang tersebut, dan memeriksa apakah mereka cocok dengan filter jalur.
Pekerjaan dapat mengakses variabel output dari tahap sebelumnya
Variabel output sekarang dapat digunakan di seluruh tahap dalam alur berbasis YAML. Ini membantu Anda meneruskan informasi yang berguna, seperti keputusan go/no-go atau ID output yang dihasilkan, dari satu tahap ke tahap berikutnya. Hasil (status) dari tahap sebelumnya dan pekerjaannya juga tersedia.
Variabel output masih diproduksi oleh langkah-langkah di dalam pekerjaan. Alih-alih mengacu pada dependencies.jobName.outputs['stepName.variableName']
, tahapan mengacu pada stageDependencies.stageName.jobName.outputs['stepName.variableName']
.
Catatan
Secara default, setiap tahapan dalam alur bergantung pada satu tahapan tepat sebelum tahapan tersebut di file YAML. Oleh karenanya, setiap tahap dapat menggunakan variabel output dari tahap sebelumnya. Anda dapat mengubah grafik dependensi, yang juga akan mengubah variabel output mana yang tersedia. Misalnya, jika membutuhkan variabel dari tahap 1, tahap 3 perlu menyatakan dependensi eksplisit pada tahap 1.
Menonaktifkan peningkatan agen otomatis pada tingkat kumpulan
Saat ini, agen alur akan secara otomatis melakukan pembaruan ke versi terbaru jika diperlukan. Ini biasanya terjadi ketika ada fitur atau tugas baru yang memerlukan versi agen yang lebih baru agar berfungsi dengan benar. Dengan pembaruan ini, kami menambahkan kemampuan untuk menonaktifkan peningkatan otomatis pada tingkat kumpulan. Dalam mode ini, jika tidak ada agen versi yang benar yang terhubung ke kumpulan, alur akan gagal dengan pesan kesalahan yang jelas alih-alih meminta agen untuk memperbarui. Fitur ini sebagian besar menarik bagi pelanggan dengan kumpulan yang dihost sendiri dan persyaratan kontrol perubahan yang sangat ketat. Pembaruan otomatis diaktifkan secara default, dan sebagian besar pelanggan sebaiknya tidak menonaktifkannya.
Diagnostik agen
Kami telah menambahkan diagnostik untuk banyak masalah umum terkait agen, seperti banyaknya masalah jaringan dan penyebab umum kegagalan peningkatan. Untuk memulai diagnostik, gunakan run.sh --diagnostics atau run.cmd --diagnostics pada Windows.
Kait layanan untuk alur YAML
Mengintegrasikan layanan dengan alur YAML menjadi lebih mudah. Dengan menggunakan peristiwa kait layanan untuk alur YAML, Anda sekarang dapat mendorong aktivitas di aplikasi atau layanan kustom berdasarkan kemajuan eksekusi alur. Misalnya, Anda dapat membuat tiket helpdesk saat persetujuan diperlukan, memulai alur kerja pemantauan setelah tahap selesai atau mengirim pemberitahuan push ke perangkat seluler tim Anda saat suatu tahap mengalami kegagalan.
Pemfilteran pada nama alur dan nama tahap didukung untuk semua peristiwa. Peristiwa persetujuan juga dapat difilter untuk lingkungan tertentu. Demikian pula, peristiwa perubahan status dapat difilter berdasarkan status baru pada eksekusi alur atau tahapannya.
Integrasi secara optimal
Optimizely adalah platform pengujian A/B dan penandaan fitur yang kuat untuk tim produk. Integrasi Azure Pipelines dengan platform eksperimen Optimizely memberdayakan tim produk untuk menguji, mempelajari, dan melakukan penyebaran dengan laju yang dipercepat, sambil mendapatkan semua manfaat DevOps dari Azure Pipelines.
Ekstensi Optimizely untuk Azure DevOps menambahkan eksperimen dan langkah-langkah peluncuran bendera fitur ke alur kompilasi dan rilis, sehingga Anda dapat terus melakukan iterasi, meluncurkan fitur, dan mengembalikannya menggunakan Alur Azure.
Pelajari selengkapnya tentang ekstensi Azure DevOps Optimizely di sini.
Menambahkan rilis GitHub sebagai sumber artefak
Sekarang Anda dapat menautkan rilis GitHub sebagai sumber artefak di alur rilis Azure DevOps. Dengan ini, Anda dapat menggunakan rilis GitHub sebagai bagian dari penyebaran Anda.
Saat Anda mengeklik Tambahkan artefak dalam definisi alur rilis, Anda akan menemukan jenis sumber Rilis GitHub baru. Anda dapat menyediakan koneksi layanan dan repositori GitHub untuk menggunakan rilis GitHub. Anda juga dapat memilih versi default untuk rilis GitHub dan menggunakannya sebagai versi tag terbaru serta spesifik, atau memilihnya saat pembuatan rilis. Setelah ditautkan, rilis GitHub tersebut secara otomatis diunduh dan tersedia dalam pekerjaan rilis Anda.
Integrasi Terraform dengan Alur Azure
Terraform adalah alat sumber terbuka untuk mengembangkan, mengubah, dan membuat versi infrastruktur dengan aman dan efisien. Terraform mengodifikasikan API ke dalam file konfigurasi deklaratif sehingga Anda dapat menentukan dan menyediakan infrastruktur dengan menggunakan bahasa konfigurasi tingkat tinggi. Anda dapat menggunakan ekstensi Terraform untuk membuat sumber daya di seluruh penyedia infrastruktur utama: Azure, Amazon Web Services (AWS) dan Google Cloud Platform (GCP).
Untuk mempelajari selengkapnya tentang ekstensi Terraform, lihat dokumentasi di sini.
Integrasi dengan Google Analytics
Kerangka kerja eksperimen Google Analytics memungkinkan Anda menguji hampir semua perubahan atau variasi ke situs web atau aplikasi untuk mengukur dampaknya pada tujuan tertentu. Misalnya, mungkin ada aktivitas yang menurut Anda perlu diselesaikan oleh pengguna (misalnya, melakukan pembelian, mendaftar untuk buletin) dan/atau metrik yang ingin Anda tingkatkan (misalnya, pendapatan, durasi sesi, tingkat pantulan). Dengan aktivitas ini, Anda dapat mengidentifikasi perubahan yang layak diterapkan berdasarkan dampak langsung yang mereka miliki pada performa fitur Anda.
Ekstensi eksperimen Google Analytics untuk Azure DevOps menambahkan langkah-langkah eksperimen ke alur build dan rilis, sehingga Anda dapat terus mengulangi, mempelajari, dan melakukan penyebaran pada laju yang dipercepat dengan mengelola eksperimen secara berkelanjutan sekaligus mendapatkan semua manfaat DevOps dari Azure Pipelines.
Anda dapat mengunduh ekstensi eksperimen Google Analytics dari Marketplace.
Integrasi ServiceNow yang diperbarui dengan Alur Azure
Aplikasi Alur Azure untuk ServiceNow membantu Anda mengintegrasikan Manajemen Perubahan Alur Azure dan ServiceNow. Dengan pembaruan ini, Anda dapat berintegrasi dengan ServiceNow versi New York. Autentikasi antara kedua layanan sekarang dapat dilakukan dengan menggunakan OAuth dan autentikasi dasar. Selain itu, Anda sekarang dapat mengonfigurasi kriteria keberhasilan tingkat lanjut sehingga Anda dapat menggunakan properti perubahan apa pun untuk memutuskan hasil gerbang.
Membuat Alur Azure dari VSCode
Kami telah menambahkan fungsionalitas baru ke ekstensi Alur Azure untuk VSCode. Sekarang, Anda akan dapat membuat Alur Azure langsung dari VSCode tanpa meninggalkan IDE.
Manajemen dan resolusi bug kegagalan
Kami memperkenalkan manajemen pengujian kegagalan untuk mendukung siklus hidup end-to-end dengan deteksi, pelaporan, dan resolusi. Untuk meningkatkannya lebih lanjut, kami menambahkan manajemen dan resolusi bug uji kegagalan.
Saat menyelidiki uji kegagalan, Anda dapat membuat bug dengan menggunakan tindakan Bug yang kemudian dapat ditetapkan kepada pengembang untuk menyelidiki akar penyebab uji kegagalan lebih lanjut. Laporan bug mencakup informasi tentang alur seperti pesan kesalahan, jejak tumpukan, dan informasi lain yang terkait dengan pengujian.
Setelah laporan bug diselesaikan atau ditutup, kami akan secara otomatis menghapus tanda pengujian dengan status tidak gagal.
Atur tugas VSTest ke gagal jika jumlah minimum pengujian tidak dijalankan
Tugas VSTest menemukan dan menjalankan pengujian dengan menggunakan input pengguna (file pengujian, kriteria filter, dan sebagainya) serta adaptor pengujian khusus untuk kerangka kerja pengujian yang digunakan. Perubahan pada input pengguna atau adapter pengujian dapat menyebabkan pengujian tidak ditemukan dan hanya subset dari pengujian yang diharapkan yang dijalankan. Sehingga masalahnya adalah alur bisa berhasil karena pengujian dilompati dan bukan karena kodenya memiliki kualitas yang cukup tinggi. Untuk membantu menghindari situasi ini, kami telah menambahkan opsi baru dalam tugas VSTest sehingga Anda dapat menentukan jumlah minimum pengujian yang harus dijalankan agar tugas tersebut bisa lulus.
Opsi VSTest TestResultsDirectory tersedia di UI tugas
Tugas VSTest menyimpan hasil pengujian dan file terkait di folder $(Agent.TempDirectory)\TestResults
. Kami telah menambahkan opsi ke UI tugas agar Anda dapat mengonfigurasi folder lain dan menyimpan hasil pengujian. Sekarang setiap tugas berikutnya yang membutuhkan file di lokasi tertentu dapat menggunakannya.
Dukungan markdown dalam pesan kesalahan pengujian otomatis
Kami telah menambahkan dukungan markdown ke pesan kesalahan untuk pengujian otomatis. Sekarang Anda dapat dengan mudah memformat pesan kesalahan untuk uji coba dan hasil pengujian guna meningkatkan keterbacaan dan memudahkan pengalaman pemecahan masalah kegagalan pengujian di Alur Azure. Sintaks markdown yang didukung dapat ditemukan di sini.
Menggunakan dekorator alur untuk menyuntikkan langkah-langkah secara otomatis dalam pekerjaan penyebaran
Anda sekarang dapat menambahkan dekorator alur ke pekerjaan penyebaran. Anda dapat memiliki langkah kustom apa pun (misalnya pemindai kerentanan) yang disuntikkan secara otomatis ke setiap eksekusi kait siklus hidup dari setiap pekerjaan penyebaran. Karena dekorator alur dapat diterapkan ke semua alur dalam koleksi, hal ini dapat dimanfaatkan sebagai bagian dari menegakkan praktik penyebaran yang aman.
Selain itu, pekerjaan penyebaran dapat dijalankan sebagai pekerjaan kontainer bersama dengan layanan side-car jika ditentukan.
Test Plans
Halaman Dokumen Pengujian Baru
Halaman Dokumen Pengujian baru (Dokumen Pengujian *) tersedia untuk semua koleksi Azure DevOps. Halaman baru menyediakan tampilan yang disederhanakan untuk membantu Anda fokus pada tugas yang ada - pembuatan dokumen pengujian, penulisan, atau eksekusi. Halaman ini juga bebas kekacauan dan konsisten dengan sisa penawaran Azure DevOps.
Bantu saya memahami halaman baru
Halaman Paket Pengujian baru memiliki total 6 bagian di mana 4 bagian pertama baru, sementara bagian Bagan & Ekstensibilitas adalah fungsionalitas yang ada.
- Header dokumen pengujian: Gunakan ini untuk menemukan, memfavoritkan, mengedit, menyalin, atau mengkloning dokumen pengujian.
- Pohon rangkaian pengujian: Gunakan ini untuk menambahkan, mengelola, mengekspor, atau mengurutkan rangkaian pengujian. Manfaatkan ini juga untuk menetapkan konfigurasi dan melakukan pengujian penerimaan pengguna.
- Tab tentukan: Susun, tambahkan, dan kelola kasus pengujian dalam rangkaian pengujian pilihan melalui tab ini.
- Tab jalankan: Tetapkan dan jalankan pengujian melalui tab ini atau temukan hasil pengujian yang akan ditelusuri.
- Tab Bagan: Lacak eksekusi dan status pengujian melalui bagan yang juga dapat disematkan ke dasbor.
- Ekstensibilitas: Dukung titik ekstensibilitas saat ini dalam produk.
Mari kita lihat garis besar bagian baru di bawah ini.
1. Header dokumen pengujian
Tugas
Header Dokumen Pengujian memungkinkan Anda melakukan tugas-tugas berikut:
- Menandai dokumen pengujian sebagai favorit
- Batal tandai dokumen pengujian favorit
- Arahkan navigasi dengan mudah di antara dokumen pengujian favorit Anda
- Lihat jalur iterasi dokumen pengujian, yang dengan jelas menunjukkan apakah dokumen pengujian adalah Saat Ini atau Sebelumnya
- Menampilkan ringkasan cepat laporan Kemajuan Pengujian dengan tautan untuk bernavigasi ke laporan
- Navigasi kembali ke halaman Dokumen Pengujian All/Mine
Opsi menu konteks
Menu konteks pada header Dokumen Pengujian menyediakan opsi berikut:
- Salin dokumen pengujian: Ini adalah opsi baru yang memungkinkan Anda menyalin dokumen pengujian saat ini dengan cepat. Lihat lebih detail di bawah ini.
- Edit dokumen pengujian: Opsi ini memungkinkan Anda mengedit formulir item kerja Dokumen Pengujian untuk mengelola bidang item kerja.
- Pengaturan dokumen pengujian: Opsi ini memungkinkan Anda mengonfigurasi pengaturan Uji Coba (untuk mengaitkan alur kompilasi atau rilis) dan pengaturan Hasil Pengujian
Menyalin dokumen pengujian (kemampuan baru)
Sebaiknya buat Dokumen Pengujian baru per sprint/rilis. Saat melakukannya, umumnya Dokumen Pengujian untuk siklus sebelumnya dapat disalin dan, dengan beberapa perubahan, dokumen pengujian yang disalin siap untuk siklus baru. Untuk mempermudah proses ini, kami telah mengaktifkan kemampuan 'Salin dokumen pengujian' di halaman baru. Dengan memanfaatkannya, Anda dapat menyalin atau mengkloning dokumen pengujian. REST API yang mendukungnya tercakup di sini dan API memungkinkan Anda menyalin/mengkloning dokumen pengujian di seluruh proyek juga.
Untuk panduan selengkapnya tentang penggunaan Dokumen Pengujian, lihat di sini.
2. Pohon rangkaian pengujian
Tugas
Header rangkaian Pengujian memungkinkan Anda melakukan tugas-tugas berikut:
- Perluas/ciutkan: Opsi toolbar ini memungkinkan Anda memperluas atau menciutkan pohon hierarki rangkaian.
- Tampilkan titik pengujian dari rangkaian turunan: Opsi toolbar ini hanya terlihat saat Anda berada di tab "Jalankan". Dengan ini, Anda dapat melihat semua titik pengujian untuk rangkaian tertentu dan turunannya dalam satu tampilan untuk pengelolaan titik pengujian yang lebih mudah tanpa harus bernavigasi ke rangkaian individual satu per satu.
- Rangkaian urutan: Anda dapat menarik/meletakkan rangkaian untuk menyusun ulang hierarki rangkaian atau memindahkannya dari satu hierarki rangkaian ke rangkaian lainnya dalam dokumen pengujian.
Opsi menu konteks
Menu konteks pada pohon rangkaian Pengujian menyediakan opsi berikut:
-
Buat rangkaian baru: Anda dapat membuat 3 jenis rangkaian berbeda sebagai berikut:
- Gunakan rangkaian statis atau rangkaian folder untuk mengatur pengujian Anda.
- Gunakan rangkaian berbasis persyaratan untuk langsung membuat tautan ke persyaratan/cerita pengguna agar keterlacakan bekerja dengan lancar.
- Gunakan basis kueri untuk secara dinamis mengatur kasus pengujian yang memenuhi kriteria kueri.
- Tetapkan konfigurasi: Anda dapat menetapkan konfigurasi untuk rangkaian (misalnya: Chrome, Firefox, EdgeChromium) dan ini kemudian akan berlaku untuk semua kasus pengujian yang ada atau kasus pengujian baru yang Anda tambahkan nanti ke rangkaian ini.
- Ekspor sebagai pdf/email: Ekspor properti Dokumen pengujian, properti rangkaian pengujian bersama dengan detail kasus pengujian dan titik pengujian sebagai "email" atau "cetak ke pdf".
- Buka item kerja rangkaian pengujian: Dengan opsi ini, Anda dapat mengedit formulir Item kerja rangkaian pengujian untuk mengelola bidang item kerja.
- Tetapkan penguji untuk menjalankan semua pengujian: Opsi ini sangat berguna untuk skenario pengujian Penerimaan Pengguna (UAT) dan di sini pengujian yang sama perlu dijalankan/dieksekusi oleh beberapa penguji, umumnya milik departemen yang berbeda.
- Ganti Nama/Hapus: Dengan opsi ini, Anda dapat mengelola nama rangkaian atau menghapus rangkaian dan kontennya dari dokumen pengujian.
3. Tab tentukan
Dengan Tab tentukan, Anda dapat menyusun, menambahkan, dan mengelola kasus pengujian untuk rangkaian pengujian. Sedangkan tab eksekusi adalah untuk menetapkan titik pengujian dan menjalankannya.
Tab Tentukan dan operasi tertentu hanya tersedia untuk pengguna dengan tingkat akses Dokumen Dasar + Pengujian atau yang setara. Segala sesuatu yang lain harus dapat diolah oleh pengguna dengan tingkat akses 'Dasar'.
Tugas
Tab Tentukan memungkinkan Anda melakukan tugas berikut:
- Tambahkan Kasus pengujian baru dengan menggunakan formulir item kerja: Opsi ini memungkinkan Anda membuat kasus pengujian baru dengan menggunakan formulir item kerja. Kasus pengujian yang dibuat akan secara otomatis ditambahkan ke rangkaian.
- Tambahkan Kasus pengujian baru menggunakan kisi: Opsi ini memungkinkan Anda membuat satu atau beberapa kasus pengujian dengan menggunakan tampilan kisi kasus pengujian. Kasus pengujian yang dibuat akan secara otomatis ditambahkan ke rangkaian.
- Menambahkan kasus pengujian yang ada menggunakan kueri: Opsi ini memungkinkan Anda menambahkan kasus pengujian yang ada ke rangkaian dengan menentukan kueri.
- Kasus pengujian urutan dengan menarik/meletakkan: Anda dapat menyusun ulang kasus pengujian dengan menarik/meletakkan satu atau beberapa kasus pengujian dalam rangkaian tertentu. Urutan kasus pengujian hanya berlaku untuk kasus pengujian manual dan bukan untuk pengujian otomatis.
- Memindahkan kasus pengujian dari satu rangkaian ke rangkaian lainnya: Dengan tarik/letakkan, Anda dapat memindahkan kasus pengujian dari satu rangkaian pengujian ke yang lain.
- Tampilkan kisi: Anda dapat menggunakan mode kisi untuk melihat/mengedit kasus pengujian bersama dengan langkah-langkah pengujian.
- Tampilan layar penuh: Anda dapat melihat konten seluruh tab Tentukan dalam mode layar penuh dengan menggunakan opsi ini.
- Pemfilteran: Menggunakan bilah filter, Anda dapat memfilter daftar kasus pengujian menggunakan bidang "judul kasus pengujian", "ditetapkan ke" dan "status". Anda juga bisa mengurutkan daftarnya dengan mengeklik header kolom.
- Opsi kolom: Anda dapat mengelola daftar kolom yang terlihat di tab Tentukan dengan menggunakan "Opsi kolom". Daftar kolom yang tersedia untuk pemilihan terutama merupakan bidang dari formulir item kerja kasus pengujian.
Opsi menu konteks
Menu konteks pada simpul Kasus pengujian dalam tab Tentukan menyediakan opsi berikut:
- Buka/edit formulir item kerja kasus pengujian: Dengan opsi ini, Anda dapat mengedit kasus Pengujian dengan menggunakan formulir item kerja tempat Anda mengedit bidang item kerja termasuk langkah-langkah pengujian.
- Edit kasus pengujian: Opsi ini memungkinkan Anda mengedit bidang item kerja kasus Pengujian secara massal. Namun, Anda tidak dapat menggunakan opsi ini untuk mengedit langkah-langkah pengujian secara massal.
- Edit kasus pengujian dalam kisi: Opsi ini memungkinkan Anda mengedit kasus pengujian yang dipilih secara massal termasuk langkah-langkah pengujian dengan menggunakan tampilan kisi.
- Tetapkan konfigurasi: Opsi ini memungkinkan Anda untuk mengambil alih konfigurasi tingkat rangkaian dengan konfigurasi tingkat kasus pengujian.
- Hapus kasus pengujian: Opsi ini memungkinkan Anda menghapus kasus pengujian dari rangkaian yang diberikan. Ini tidak mengubah item kerja kasus pengujian yang mendasar.
- Membuat salinan/klon kasus pengujian: Opsi ini memungkinkan Anda membuat salinan/klon kasus pengujian yang dipilih. Baca di bawah ini untuk detail selengkapnya.
- Menampilkan item tertaut: Opsi ini memungkinkan Anda melihat item tertaut untuk kasus pengujian tertentu. Baca di bawah ini untuk detail selengkapnya.
Menyalin/mengkloning kasus pengujian (kemampuan baru)
Untuk skenario ketika Anda ingin menyalin/mengkloning kasus pengujian, Anda dapat menggunakan opsi "Salin kasus pengujian". Anda dapat menentukan proyek tujuan, dokumen pengujian tujuan, dan rangkaian pengujian tujuan untuk membuat kasus pengujian salin/kloning. Selain itu, Anda juga dapat menentukan apakah Anda ingin menyertakan tautan/pemasangan yang ada, yang akan dialirkan ke salinan kloning.
Menampilkan item tertaut (kapabilitas baru)
Keterlacakan di antara artefak pengujian, persyaratan, dan bug adalah proposisi nilai penting dari produk Dokumen Pengujian. Dengan menggunakan opsi "Lihat item tertaut", Anda dapat dengan mudah melihat semua Persyaratan tertaut yang ditautkan dengan kasus pengujian ini, semua rangkaian Pengujian/dokumen Pengujian jika kasus pengujian ini telah digunakan dan semua bug yang telah diajukan sebagai bagian dari eksekusi pengujian.
4. Jalankan tab
Dengan Tab tentukan, Anda dapat menyusun, menambahkan, dan mengelola kasus pengujian untuk rangkaian pengujian. Sedangkan tab eksekusi adalah untuk menetapkan titik pengujian dan menjalankannya.
Apa itu titik pengujian? Kasus pengujian sendiri tidak dapat dieksekusi. Saat Anda menambahkan kasus pengujian ke rangkaian pengujian, maka titik pengujian dihasilkan. Titik pengujian adalah kombinasi unik dari kasus pengujian, rangkaian pengujian, konfigurasi, dan penguji. Contoh: jika Anda memiliki kasus pengujian sebagai "Fungsionalitas uji masuk" dan Anda menambahkan 2 konfigurasi ke dalamnya sebagai Edge dan Chrome maka ini menghasilkan 2 titik pengujian. Sekarang, titik pengujian ini dapat dijalankan. Pada eksekusi, hasil pengujian dihasilkan. Melalui tampilan hasil pengujian (riwayat eksekusi) Anda dapat melihat semua eksekusi titik pengujian. Eksekusi terbaru untuk titik pengujian adalah hal yang Anda lihat di tab eksekusi.
Oleh karenanya, kasus pengujian adalah entitas yang dapat digunakan kembali. Dengan menyertakannya dalam dokumen pengujian atau rangkaian, titik pengujian dihasilkan. Dengan menjalankan titik pengujian, Anda menentukan kualitas produk atau layanan yang dikembangkan.
Salah satu manfaat utama halaman baru adalah bahwa, untuk pengguna yang terutama melakukan eksekusi/pelacakan pengujian (hanya perlu memiliki tingkat akses 'Dasar'), mereka tidak kewalahan oleh kompleksitas manajemen rangkaian (tab definisi disembunyikan untuk pengguna tersebut).
Tab Tentukan dan operasi tertentu hanya tersedia untuk pengguna dengan tingkat akses Dokumen Dasar + Pengujian atau yang setara. Segala sesuatu yang lain, termasuk tab "Jalankan" harus dapat digunakan oleh pengguna dengan tingkat akses 'Dasar'.
Tugas
Tab Jalankan memungkinkan Anda melakukan tugas berikut:
- Titik pengujian tanda massal: Opsi ini memungkinkan Anda untuk dengan cepat menandai hasil titik pengujian - lulus, gagal, diblokir, atau tidak berlaku, tanpa harus menjalankan kasus pengujian melalui alat eksekusi Pengujian. Hasilnya dapat ditandai untuk satu atau beberapa titik pengujian sekali jalan.
- Jalankan titik pengujian: Opsi ini memungkinkan Anda menjalankan kasus pengujian dengan mengikuti setiap langkah pengujian dan menandainya lulus/gagal secara individual, menggunakan alat eksekusi Pengujian. Bergantung pada aplikasi yang Anda uji, Anda dapat menggunakan "Web Runner" untuk menguji "aplikasi web" atau "desktop runner" untuk menguji aplikasi desktop dan/atau web. Anda juga dapat memanggil "Jalankan dengan opsi" untuk menentukan Kompilasi yang ingin Anda lakukan pengujiannya.
- Opsi kolom: Anda dapat mengelola daftar kolom yang terlihat di tab Jalankan dengan menggunakan "Opsi kolom". Daftar kolom yang tersedia untuk seleksi dikaitkan dengan titik pengujian, seperti Jalankan oleh, Penguji yang Ditetapkan, Konfigurasi, dll.
- Tampilan layar penuh: Anda dapat melihat konten seluruh tab Jalankan dalam mode layar penuh dengan menggunakan opsi ini.
- Pemfilteran: Menggunakan bilah filter, Anda dapat memfilter daftar titik pengujian menggunakan bidang "judul kasus pengujian", "ditetapkan ke", "status", "hasil pengujian", "Penguji" dan "Konfigurasi". Anda juga bisa mengurutkan daftarnya dengan mengeklik header kolom.
Opsi menu konteks
Menu konteks pada simpul Titik pengujian dalam tab Jalankan menyediakan opsi berikut:
- Tandai hasil pengujian: Sama seperti di atas, memungkinkan Anda untuk dengan cepat menandai hasil titik pengujian - lulus, gagal, diblokir, atau tidak berlaku.
- Jalankan titik pengujian: Sama seperti di atas, memungkinkan Anda menjalankan kasus pengujian melalui alat eksekusi pengujian.
- Atur ulang pengujian ke aktif: Opsi ini memungkinkan Anda mengatur ulang hasil pengujian ke aktif, sehingga mengabaikan hasil terakhir dari titik pengujian.
- Buka/edit formulir item kerja kasus pengujian: Dengan opsi ini, Anda dapat mengedit kasus Pengujian dengan menggunakan formulir item kerja tempat Anda mengedit bidang item kerja termasuk langkah-langkah pengujian.
- Tetapkan penguji: Opsi ini memungkinkan Anda menetapkan poin pengujian kepada penguji untuk eksekusi pengujian.
- Lihat hasil pengujian: Opsi ini memungkinkan Anda untuk melihat detail hasil pengujian terbaru termasuk hasil setiap langkah pengujian, komentar yang ditambahkan, atau bug yang diajukan.
- Lihat riwayat eksekusi: Opsi ini memungkinkan Anda melihat seluruh riwayat eksekusi untuk titik pengujian yang dipilih. Tindakan ini membuka halaman baru tempat Anda dapat menyesuaikan filter untuk melihat riwayat eksekusi bukan hanya titik pengujian yang dipilih tetapi juga untuk seluruh kasus pengujian.
Laporan Kemajuan Dokumen Pengujian
Laporan unik ini membantu Anda melacak eksekusi dan status satu atau beberapa Dokumen Pengujian dalam proyek. Kunjungi laporan* Kemajuan Dokumen Pengujian > untuk mulai menggunakan laporan.
Tiga bagian laporan meliputi hal berikut ini:
- Ringkasan: memperlihatkan tampilan terkonsolidasi untuk dokumen pengujian yang dipilih.
- Tren hasil: merender snapshot harian sehingga Anda bisa melihat garis tren eksekusi dan status. Ini dapat menampilkan data selama 14 hari (default), 30 hari, atau rentang kustom.
- Detail: bagian ini memungkinkan Anda menelusuri secara detail setiap dokumen pengujian dan memberi Anda analitik penting untuk setiap rangkaian pengujian.
Artefak
Catatan
Azure DevOps Server 2020 tidak mengimpor umpan yang berada di keranjang sampah selama impor data. Jika Anda ingin mengimpor umpan yang berada di keranjang sampah, silakan lakukan pemulihan dari keranjang sampah sebelum memulai impor data.
Ekspresi lisensi dan lisensi yang disematkan
Sekarang Anda dapat melihat detail informasi lisensi untuk paket NuGet yang disimpan di Azure Artifacts saat menelusuri paket di Visual Studio. Ini berlaku untuk lisensi yang diwakili dengan menggunakan ekspresi lisensi atau lisensi yang disematkan. Sekarang Anda dapat melihat tautan ke informasi lisensi di halaman detail paket Visual Studio (panah merah pada gambar di bawah).
Mengeklik tautan akan membawa Anda ke halaman web tempat Anda bisa melihat detail lisensi. Pengalaman ini sama untuk ekspresi lisensi dan lisensi yang disematkan, sehingga Anda dapat melihat detail lisensi untuk paket yang disimpan di Azure Artifacts di satu tempat (untuk paket yang menentukan informasi lisensi dan didukung oleh Visual Studio).
Tugas autentikasi ringan
Sekarang Anda dapat melakukan autentikasi dengan manajer paket populer dari Alur Azure dengan menggunakan tugas autentikasi ringan. Ini mencakup NuGet, npm, PIP, Twine, dan Maven. Sebelumnya, Anda dapat melakukan autentikasi dengan manajer paket ini menggunakan tugas yang menyediakan sejumlah besar fungsionalitas, termasuk kemampuan untuk menerbitkan dan mengunduh paket. Namun, hal ini memerlukan penggunaan tugas-tugas ini untuk semua aktivitas yang berinteraksi dengan manajer paket. Jika harus menjalankan skrip sendiri untuk melakukan tugas seperti menerbitkan atau mengunduh paket, Anda tidak akan dapat menggunakannya di Alur Anda. Sekarang, Anda dapat menggunakan skrip desain Anda sendiri di YAML alur Anda dan melakukan autentikasi dengan tugas ringan baru ini. Contoh menggunakan npm:
Penggunaan perintah "ci" dan "terbitkan" dalam ilustrasi ini bersifat manasuka, Anda dapat menggunakan perintah apa pun yang didukung oleh Alur Azure YAML. Dengan ini, Anda memiliki kontrol penuh atas pemanggilan perintah dan penggunaan skrip bersama dalam konfigurasi alur Anda jadi lebih mudah. Untuk informasi selengkapnya, silakan lihat dokumentasi tugas autentikasi NuGet, npm, PIP, Twine, dan Maven.
Penyempurnaan untuk waktu muat halaman umpan
Kami sangat senang mengumumkan bahwa kami telah meningkatkan waktu muat halaman umpan. Rata-rata, waktu muat halaman umpan telah menurun sebesar 10%. Umpan terbesar telah mengalami peningkatan terbaik, yaitu waktu muat halaman umpan persentil ke-99 (waktu muat tertinggi 99% dari semua umpan) menurun sebesar 75%.
Bagikan paket Anda secara publik dengan umpan publik
Anda sekarang dapat membuat dan menyimpan paket Anda di dalam umpan publik. Paket yang disimpan dalam umpan publik tersedia untuk siapa saja di internet tanpa autentikasi, baik yang berada di dalam atau di luar koleksi Anda atau bahkan masuk ke koleksi Azure DevOps. Pelajari selengkapnya tentang umpan publik dalam dokumentasi umpan kami atau langsung masuk ke tutorial kami untuk berbagi paket secara publik.
Mengonfigurasi upstram pada koleksi yang berbeda dalam penyewa AAD
Sekarang Anda dapat menambahkan umpan di koleksi lain yang terkait dengan penyewa Azure Active Directory (AAD) Anda sebagai sumber upstram ke umpan Artefak Anda. Umpan Anda dapat menemukan dan menggunakan paket dari umpan yang dikonfigurasi sebagai sumber upstram, sehingga paket dapat dibagikan dengan mudah di seluruh koleksi yang terkait dengan penyewa AAD Anda. Lihat cara menyiapkan hal ini di dokumen.
Gunakan Penyedia Kredensial Python untuk mengautentikasi pip dan twine dengan umpan Azure Artifacts
Sekarang Anda dapat menginstal dan menggunakan Penyedia Kredensial Python (artifacts-keyring) guna menyiapkan autentikasi secara otomatis untuk menerbitkan atau menggunakan paket Python ke atau dari umpan Artefak Azure. Dengan penyedia kredensial, Anda tidak perlu menyiapkan file konfigurasi apa pun (pip.ini/pip.conf/.pypirc), Anda hanya akan diarahkan melalui alur autentikasi di browser web Anda saat memanggil pip atau twine untuk pertama kalinya. Lihat informasi selengkapnya di dokumentasi.
Umpan Artefak Azure di Visual Studio Package Manager
Kami sekarang menampilkan ikon paket, deskripsi, dan pembuat di Visual Studio NuGet Package Manager untuk paket yang disajikan dari umpan Azure Artifacts. Sebelumnya, sebagian besar metadata ini tidak disediakan untuk VS.
Koneksi untuk pengalaman umpan yang diperbarui
Dialog Koneksi untuk umpan adalah entryway untuk menggunakan Azure Artifacts; Dialog ini berisi informasi tentang cara mengonfigurasi klien dan repositori untuk mendorong dan menarik paket dari umpan di Azure DevOps. Kami telah memperbarui dialog untuk menambahkan informasi penyiapan terperinci dan memperluas alat yang menerima instruksi dari kami.
Umpan publik sekarang tersedia secara umum dengan dukungan upstram
Pratinjau publik pada umpan publik telah menerima adopsi dan umpan balik yang besar. Dalam rilis ini, kami memperluas fitur tambahan ke ketersediaan umum. Sekarang, Anda dapat mengatur umpan publik sebagai sumber upstram dari umpan privat. Anda dapat membuat file konfigurasi tetap sederhana dengan kemampuan untuk melakukan upstram baik ke maupun dari umpan privat dan cakupan proyek.
Membuat umpan cakupan proyek dari portal
Ketika merilis umpan publik, kami juga merilis umpan cakupan proyek. Hingga saat ini, umpan cakupan proyek dapat dibuat melalui REST API atau dengan membuat umpan publik lalu mengubah proyek menjadi privat. Sekarang, Anda dapat membuat umpan cakupan proyek langsung di portal dari proyek apa pun jika Anda memiliki izin yang diperlukan. Anda juga dapat melihat umpan mana yang merupakan proyek dan mana yang cakupan koleksi dalam pemilih umpan.
Peningkatan performa npm
Kami telah membuat perubahan pada desain inti kami untuk meningkatkan cara kami menyimpan dan mengirimkan paket npm di umpan Azure Artifacts. Hal ini telah membantu kami mencapai pengurangan latensi hingga 10 kali lipat untuk beberapa API tertinggi yang digunakan untuk npm.
Peningkatan aksesibilitas
Kami telah menyebarkan perbaikan untuk mengatasi masalah aksesibilitas di halaman umpan kami. Perbaikannya meliputi hal-hal berikut:
- Membuat pengalaman umpan
- Pengalaman pengaturan umpan global
- Koneksi untuk pengalaman umpan
Wiki
Pengeditan beragam untuk halaman wiki kode
Sebelumnya, saat mengedit halaman wiki kode, Anda diarahkan ke hub Repositori Azure untuk pengeditan. Saat ini, hub Repo tidak dioptimalkan untuk pengeditan markdown.
Sekarang Anda dapat mengedit halaman wiki kode di editor berdampingan di dalam wiki. Dengan ini, Anda dapat menggunakan beragam toolbar markdown agar konten Anda membuat pengalaman pengeditan yang mirip dengan pengalaman pada wiki proyek. Anda masih dapat memilih untuk mengedit dalam repositori dengan memilih opsi Edit di Repositori di menu konteks.
Membuat dan menyematkan item kerja dari halaman wiki
Saat mendengarkan umpan balik Anda, kami mendengar bahwa Anda menggunakan wiki untuk mengambil dokumen diskusi masalah, dokumen perencanaan, ide tentang fitur, dokumen spesifikasi, dan risalah rapat. Sekarang Anda dapat dengan mudah membuat fitur dan cerita pengguna langsung dari dokumen perencanaan tanpa meninggalkan halaman wiki.
Untuk membuat item kerja, pilih teks di halaman wiki tempat Anda ingin menyematkan item kerja dan pilih Item kerja baru. Hal ini menghemat waktu karena Anda tidak perlu membuat item kerja terlebih dahulu, masuk ke edit, lalu menemukan item kerja untuk menyematkannya. Ini juga mengurangi peralihan konteks karena Anda tidak keluar dari cakupan wiki.
Untuk mempelajari selengkapnya tentang membuat dan menyematkan item kerja dari wiki, lihat dokumentasi kami di sini.
Komentar di halaman wiki
Sebelumnya, Anda tidak dapat berinteraksi dengan pengguna wiki lain di dalam wiki. Ini menghambat kolaborasi pada konten dan perolehan jawaban atas pertanyaan, karena percakapan harus dilakukan melalui saluran email atau obrolan. Dengan komentar, Anda sekarang dapat berkolaborasi dengan orang lain langsung di dalam wiki. Anda dapat memanfaatkan fungsionalitas pengguna @mention di dalam komentar untuk menarik perhatian anggota tim lain. Fitur ini telah diprioritaskan berdasarkan tiket saran ini. Untuk informasi selengkapnya tentang komentar, silakan lihat dokumentasi kami di sini.
Sembunyikan folder dan file yang dimulai dengan "." di pohon wiki
Hingga saat ini, pohon wiki menampilkan semua folder dan file yang dimulai dengan titik (.) di pohon wiki. Dalam skenario wiki kode, ini menyebabkan folder seperti .vscode, yang dimaksudkan untuk disembunyikan, untuk muncul di pohon wiki. Sekarang, semua file dan folder yang dimulai dengan titik akan tetap tersembunyi di pohon wiki sehingga mengurangi kekacauan yang tidak perlu.
Fitur ini telah diprioritaskan berdasarkan tiket saran ini.
URL halaman Wiki yang pendek dan dapat dibaca
Anda tidak lagi harus menggunakan URL multibaris untuk berbagi tautan halaman wiki. Kami memanfaatkan ID halaman di URL untuk menghapus parameter sehingga membuat URL lebih pendek dan lebih mudah dibaca.
Struktur URL baru akan terlihat seperti:
https://dev.azure.com/{accountName}/{projectName}/_wiki/wikis/{wikiName}/{pageId}/{readableWiki PageName}
Ini adalah contoh URL baru untuk halaman Wiki Selamat Datang di Azure DevOps:
https://dev.azure.com/microsoft/ AzureDevOps/_wiki/wikis/AzureDevOps.wiki/1/Welcome-to-Azure-DevOps-Wiki
Contoh ini diprioritaskan berdasarkan tiket saran fitur ini dari Komunitas Pengembang.
Gulir sinkron untuk mengedit halaman wiki
Mengedit halaman wiki kini lebih mudah dengan gulir sinkron antara panel edit dan pratinjau. Tindakan menggulir di satu sisi akan secara otomatis menggulir sisi lain untuk memetakan bagian yang sesuai. Anda dapat menonaktifkan gulir sinkron dengan tombol alih.
Catatan
Status pengalih gulir sinkron disimpan per pengguna dan akun.
Kunjungan halaman untuk halaman wiki
Anda sekarang bisa mendapatkan wawasan tentang kunjungan halaman untuk halaman wiki. REST API memungkinkan Anda mengakses informasi kunjungan halaman dalam 30 hari terakhir. Anda dapat menggunakan data ini untuk membuat laporan untuk halaman wiki Anda. Selain itu, Anda dapat menyimpan data ini di sumber data dan membuat dasbor untuk mendapatkan wawasan tertentu seperti halaman teratas-n yang paling banyak dilihat.
Anda juga akan melihat jumlah kunjungan halaman agregat selama 30 hari terakhir di setiap halaman.
Catatan
Kunjungan halaman didefinisikan sebagai tampilan halaman oleh pengguna tertentu dalam interval 15 menit.
Pelaporan
Laporan kegagalan dan durasi alur
Metrik dan wawasan membantu Anda terus meningkatkan throughput dan stabilitas alur Anda. Kami telah menambahkan dua laporan baru untuk memberi Anda wawasan tentang alur Anda.
- Laporan kegagalan alur menunjukkan tingkat kelulusan kompilasi dan tren kegagalan. Selain itu, hal ini juga akan menunjukkan tren kegagalan tugas untuk memberikan wawasan tentang tugas mana dalam alur yang berkontribusi pada jumlah maksimum kegagalan.
- Laporan durasi alur menunjukkan tren waktu yang diperlukan agar alur berjalan. Hal ini juga menunjukkan tugas mana dalam alur yang memakan waktu paling lama.
Penyempurnaan widget Hasil Kueri
Widget hasil kueri adalah salah satu widget kami yang paling populer, dan untuk alasan yang baik. Widget menampilkan hasil kueri langsung di dasbor Anda dan berguna dalam banyak situasi.
Dengan pembaruan ini, kami menyertakan banyak peningkatan yang telah lama dinantikan:
- Anda sekarang dapat memilih kolom sebanyak yang ingin Anda tampilkan di widget. Tidak ada lagi batas 5 kolom!
- Widget mendukung semua ukuran, dari 1x1 hingga 10x10.
- Saat Anda mengubah ukuran kolom, lebar kolom akan disimpan.
- Anda dapat memperluas widget ke tampilan layar penuh. Saat diperluas, layar akan menampilkan semua kolom yang dikembalikan oleh kueri.
Pemfilteran tingkat lanjut pada widget Waktu Penyelesaian dan Pengerjaan
Waktu penyelesaian dan pengerjaan digunakan oleh tim untuk melihat berapa lama proses pengerjaan alur pengembangan mereka, dan pada akhirnya memberikan nilai kepada pelanggan mereka.
Hingga saat ini, widget waktu penyelesaian dan pengerjaan tidak mendukung kriteria filter lanjutan untuk pertanyaan seperti: "berapa lama tim saya bisa menyelesaikan item prioritas yang lebih tinggi?"
Dengan pembaruan ini, pertanyaan seperti ini dapat dijawab dengan memfilter Papan swimlane.
Kami juga telah menyertakan filter item kerja untuk membatasi item kerja yang muncul di bagan.
Sprint Burndown sebaris menggunakan estimasi pengerjaan
Sprint Burndown Anda sekarang dapat dianalisis secara burndown melalui Cerita. Bagian ini membahas umpan balik Anda dari Komunitas Pengembang.
Dari hub Sprint, pilih tab Analitik. Kemudian konfigurasikan laporan Anda sebagai berikut:
- Pilih backlog Cerita
- Pilih burndown pada Jumlah Estimasi Pengerjaan
Widget Sprint Burndown dengan semua yang Anda minta
Widget Sprint Burndown baru mendukung analisis burndown berdasarkan Estimasi Pengerjaan, jumlah Tugas, atau dengan menjumlahkan bidang isian kustom. Anda bahkan dapat membuat sprint burndown untuk Fitur atau Epik. Widget menampilkan burndown rata-rata, % penyelesaian, dan peningkatan cakupan. Anda dapat mengonfigurasi tim, sehingga dapat menampilkan sprint burndown untuk beberapa tim di dasbor yang sama. Dengan semua tampilan informasi hebat ini, Anda dapat mengubah ukurannya hingga 10x10 di dasbor.
Untuk mencobanya, Anda dapat menambahkannya dari katalog widget, atau dengan mengedit konfigurasi untuk widget Sprint Burndown yang ada dan mencentang kotak Coba versi baru sekarang.
Catatan
Widget baru menggunakan Analytics. Kami menyimpan Sprint Burndown warisan jika Anda tidak memiliki akses ke Analitik.
Gambar mini sprint burndown sebaris
Sprint Burndown kembali lagi! Beberapa sprint yang lalu, kami menghapus sprint burndown dalam konteks dari header Sprint Burndown dan Taskboard. Berdasarkan umpan balik Anda, kami telah meningkatkan dan mengidentifikasi kembali gambar mini sprint burndown.
Tindakan mengeklik gambar mini akan segera menampilkan versi bagan yang lebih besar dengan opsi untuk melihat laporan lengkap di bawah tab Analitik. Setiap perubahan yang dilakukan pada laporan lengkap akan terlihat dalam bagan yang ditampilkan di header. Jadi Anda sekarang dapat mengonfigurasinya untuk burndown berdasarkan unit pengerjaan, estimasi pengerjaan, atau berdasarkan jumlah tugas, bukan hanya jumlah pekerjaan yang tersisa.
Membuat dasbor tanpa tim
Anda sekarang dapat membuat dasbor tanpa mengaitkannya dengan tim. Saat membuat dasbor, pilih jenis Dasbor Proyek.
Dasbor Proyek mirip dengan Dasbor Tim, namun bedanya, ia tidak terkait dengan Tim dan Anda dapat memutuskan siapa yang dapat mengedit/mengelola dasbor. Sama seperti Dasbor Tim, hal tersebut terlihat oleh semua orang dalam proyek.
Semua widget Azure DevOps yang memerlukan konteks tim telah diperbarui agar Anda dapat memilih tim dalam konfigurasinya. Anda dapat menambahkan widget ini ke Dasbor Project dan memilih tim tertentu yang Anda inginkan.
Catatan
Untuk widget kustom atau pihak ketiga, Dasbor Proyek akan meneruskan konteks tim default ke widget tersebut. Jika Anda memiliki widget kustom yang bergantung pada konteks tim, Anda harus memperbarui konfigurasi agar Anda dapat memilih tim.
Umpan Balik
Kami ingin mendengar pendapat Anda! Anda dapat melaporkan masalah atau memberikan ide dan melacaknya melalui Komunitas Pengembang dan mendapatkan saran tentang Stack Overflow.