Widget burndown sprint baru dan keamanan alur yang ditingkatkan - Pembaruan Sprint 160
Dalam Pembaruan Sprint 160 Azure DevOps, kami menambahkan widget burndown sprint baru yang mendukung pembakaran berdasarkan titik cerita, jumlah tugas, dan dengan menjumlahkan bidang kustom. Selain itu, kami meningkatkan keamanan alur dengan membatasi cakupan token akses.
Lihat daftar Fitur di bawah ini untuk informasi selengkapnya.
Apa yang baru di Azure DevOps
Fitur
Azure Repos:
Azure Pipelines:
- UX alur multi-tahap
- Mengatur strategi penyebaran kenari pada lingkungan untuk Kubernetes
- Kebijakan persetujuan untuk alur YAML
- ACR sebagai sumber daya alur kelas satu
- Meta-data sumber daya alur sebagai variabel yang telah ditentukan sebelumnya
- Keterlacakan untuk alur dan sumber daya ACR
- Otorisasi sumber daya yang disederhanakan dalam alur YAML
- Meningkatkan keamanan alur dengan membatasi cakupan token akses
- Mengevaluasi pemeriksaan artefak
- Dukungan markdown dalam pesan kesalahan pengujian otomatis
- Mendiagnosis jadwal cron di YAML
- Pembaruan untuk tugas penyebaran templat ARM
- Keamanan tingkat proyek untuk koneksi layanan
- Kumpulan Ubuntu 18.04
- Penyebaran kenari berbasis Service Mesh Interface dalam tugas KubernetesManifest
- ReviewApp di Lingkungan
Artefak Azure:
- Diperbarui Sambungkan ke pengalaman umpan
- Umpan publik sekarang tersedia secara umum dengan dukungan upstram
- Membuat umpan cakupan proyek dari portal
Pelaporan:
Wiki:
Azure Repos
Administrasi kebijakan cabang lintas repositori
Kebijakan cabang adalah salah satu fitur canggih Repositori Azure yang membantu Anda melindungi cabang penting. Meskipun kemampuan untuk menetapkan kebijakan di tingkat proyek ada di REST API, tidak ada antarmuka pengguna untuk itu. Sekarang, admin dapat menetapkan kebijakan pada cabang tertentu atau cabang default di semua repositori dalam proyek mereka. Misalnya, admin dapat memerlukan dua peninjau minimum untuk semua permintaan pull yang dibuat ke setiap cabang utama di setiap repositori dalam proyek mereka. Anda dapat menemukan fitur Tambahkan perlindungan cabang di Pengaturan Proyek Repositori.
Azure Pipelines
UX alur multi-tahap
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. Misalnya, kemampuan berikut disertakan dalam pengalaman baru; melihat dan mengelola beberapa tahap, menyetujui eksekusi alur, kemampuan untuk menggulir semua jalan kembali dalam log saat alur masih berlangsung, dan kesehatan per cabang dari alur.
Terima kasih untuk semua yang telah mencoba pengalaman baru. Jika Anda belum mencobanya, aktifkan Alur multi-tahap di fitur pratinjau. Untuk mempelajari selengkapnya tentang alur multi-tahap, lihat dokumentasi di sini .
Berkat umpan balik Anda, kami membahas hal berikut dalam dua pembaruan terakhir.
- Penemuan tampilan folder.
- Jumpiness dalam tampilan log.
- Mudah menunjukkan log dari tugas sebelumnya dan saat ini bahkan ketika eksekusi sedang berlangsung.
- Jadikan lebih mudah untuk menavigasi antar tugas saat meninjau log.
Catatan
Pada pembaruan berikutnya, kami berencana untuk mengaktifkan fitur ini secara default untuk semua orang. Anda masih akan memiliki opsi untuk menolak pratinjau. Beberapa minggu setelah itu, fitur akan tersedia secara umum.
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.
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
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
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.
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.
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 organisasi 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 organisasi baru yang Anda buat akan secara otomatis mengaktifkan pengaturan ini.
Catatan
Pengaturan organisasi mengambil alih pengaturan proyek.
Mengaktifkan pengaturan ini di proyek dan organisasi yang ada dapat menyebabkan alur tertentu gagal jika alur Anda mengakses sumber daya yang berada di luar proyek tim 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.
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.
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.
Dukungan markdown dalam pesan kesalahan pengujian otomatis
Kami sekarang mendukung Markdown dalam pesan kesalahan untuk pengujian otomatis. Anda dapat dengan mudah memformat pesan kesalahan untuk uji coba dan hasil pengujian untuk meningkatkan keterbacaan dan memudahkan pemecahan masalah kegagalan di Azure Pipelines. Sintaks Markdown yang didukung dapat ditemukan di sini.
Mendiagnosis jadwal cron di YAML
Kami telah melihat peningkatan stabil dalam penggunaan sintaks cron untuk menentukan jadwal dalam alur YAML Anda. Saat kami mendengarkan umpan balik Anda, kami mendengar bahwa sulit bagi Anda untuk menentukan apakah Azure Pipelines telah memproses sintaks Anda dengan benar. Sebelumnya, Anda harus menunggu waktu aktual eksekusi terjadwal untuk men-debug masalah jadwal. Untuk membantu Anda mendiagnosis kesalahan cabang/sintaks, kami menambahkan menu tindakan baru untuk alur. Eksekusi terjadwal di menu Jalankan alur akan memberi Anda pratinjau beberapa eksekusi terjadwal yang akan datang untuk alur Anda untuk membantu Anda mendiagnosis kesalahan dengan jadwal cron Anda.
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.
Keamanan tingkat proyek untuk koneksi layanan
Dengan pembaruan ini, 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.
Kumpulan Ubuntu 18.04
Azure Pipelines sekarang mendukung menjalankan pekerjaan Anda di Ubuntu 18.04. Kami memperbarui kumpulan Azure Pipelines yang dihosting Microsoft untuk menyertakan gambar Ubuntu-18.04. Sekarang, ketika Anda mereferensikan ubuntu-latest
kumpulan dalam alur YAML Anda, itu akan berarti ubuntu-18.04
dan bukan ubuntu-16.04
. Anda masih dapat menargetkan 16.04 gambar dalam pekerjaan Anda dengan menggunakan ubuntu-16.04
secara eksplisit.
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'
ReviewApp di Lingkungan
ReviewApp menyebarkan setiap permintaan pull dari repositori Git Anda ke sumber daya lingkungan dinamis. Peninjau dapat melihat tampilan perubahan tersebut serta bekerja dengan layanan dependen lainnya sebelum digabungkan ke cabang utama dan disebarkan ke produksi. Ini akan memudahkan Anda untuk membuat dan mengelola sumber daya reviewApp dan mendapat manfaat dari semua kemampuan pelacakan dan kemampuan diagnosis pada fitur lingkungan. Dengan menggunakan kata kunci reviewApp, Anda dapat membuat klon sumber daya (secara dinamis membuat sumber daya baru berdasarkan sumber daya yang ada di lingkungan) dan menambahkan sumber daya baru ke lingkungan.
Berikut ini adalah sampel cuplikan YAML tentang menggunakan reviewApp di bawah lingkungan.
jobs:
- deployment:
environment:
name: smarthotel-dev
resourceName: $(System.PullRequest.PullRequestId)
pool:
name: 'ubuntu-latest'
strategy:
runOnce:
pre-deploy:
steps:
- reviewApp: MasterNamespace
Azure Artifacts
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 pembaruan 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 dilingkup organisasi dalam pemilih umpan.
Pelaporan
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.
Wiki
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 organisasi.
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.
Langkah berikutnya
Catatan
Fitur-fitur ini akan diluncurkan selama dua hingga tiga minggu ke depan.
Buka Azure DevOps dan lihat.
Cara memberikan umpan balik
Kami akan senang mendengar apa yang Anda pikirkan tentang fitur-fitur ini. Gunakan menu bantuan untuk melaporkan masalah atau memberikan saran.
Anda juga bisa mendapatkan saran dan pertanyaan yang dijawab oleh komunitas di Stack Overflow.
Terima kasih,
Jeff Beehler
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk