Keamanan yang Ditingkatkan dan Alur Kerja Pipa
Dengan sprint ini, kami meningkatkan alur kerja DevOps Anda dengan pemantauan keamanan yang lebih besar dan alur kerja jalur yang disederhanakan. GitHub Advanced Security sekarang mencakup pelacakan pengaktifan terperinci untuk pemindaian dependensi , pemindaian kode , dan pemindaian rahasia , menawarkan wawasan yang lebih mendalam tentang cakupan keamanan organisasi Anda.
Selain itu, kami sangat senang memperkenalkan peningkatan yang berfokus pada alur, termasuk fungsi ekspresi YAML baru dan kontrol yang diperluas untuk tugas validasi manual, memungkinkan Anda membuat alur kerja yang lebih efisien dan aman.
Lihat catatan rilis untuk detailnya.
GitHub Advanced Security untuk Azure DevOps
Azure Boards
Azure Repos
Azure Pipelines
Rencana Pengujian
GitHub Advanced Security untuk Azure DevOps
Cakupan gambaran umum keamanan yang spesifik untuk alat
Gambaran umum keamanan di GitHub Advanced Security untuk Azure DevOps sekarang menyediakan perincian terperinci status pengaktifan untuk setiap alat pemindaian, termasuk pemindaian dependensi , pemindaian kode , dan pemindaian rahasia . Penyempurnaan ini memungkinkan Anda untuk melihat status pengaktifan yang rinci di semua repositori di organisasi Anda.
Untuk informasi selengkapnya, lihat gambaran umum Keamanan untuk Keamanan Tingkat Lanjut.
Azure Boards
Integrasi Azure Boards dengan GitHub Enterprise Cloud dengan Ketentuan Lokasi Penyimpanan Data (Pratinjau)
Nota
Fitur ini saat ini dalam pratinjau. Silakan email kami jika Anda tertarik untuk mencoba integrasi Boards dengan GitHub Enterprise Cloud dengan Residensi Data.
Azure Boards sekarang mendukung integrasi dengan organisasi GitHub Enterprise Cloud yang mengaktifkan residensi data. Pembaruan ini selaras dengan pengumuman GitHub September 2024 memperkenalkan residensi data untuk pelanggan Enterprise Cloud, dimulai dengan yang ada di Uni Eropa (UE).
Untuk menyambungkan proyek Azure Boards ke organisasi GitHub Enterprise Cloud Anda dengan residensi data:
- Buat koneksi baru di Azure Boards.
- Pilih GitHub Enterprise Cloud dengan opsi residensi data.
Azure Repos
Cek keluar jarang untuk Azure Repos
Perintah git sparse-checkout sekarang didukung dalam tugas checkout YAML, bersama filter kloning parsial, untuk meningkatkan performa checkout repositori. Anda dapat menggunakan properti sparseCheckoutDirectories
dan sparseCheckoutPatterns
.
Pengaturan sparseCheckoutDirectories
memungkinkan mode kerucut, di mana proses checkout menggunakan pencocokan direktori. Atau, Anda dapat mengatur sparseCheckoutPatterns
yang memicu mode non-kerucut, memungkinkan pencocokan pola yang lebih kompleks.
Jika kedua properti ditetapkan, agen menginisialisasi mode cone dengan mencocokkan direktori. Jika tidak ada properti yang ditentukan dalam tugas checkout, proses checkout sparse dinonaktifkan. Masalah apa pun yang dihadapi selama eksekusi perintah mengalihkan tugas checkout gagal.
Contoh YAML untuk mode kerucut cek keluar yang jarang:
checkout: repo
sparseCheckoutDirectories: src
Contoh YAML untuk mode non-kerucut pemeriksaan jarang:
checkout: repo
sparseCheckoutPatterns: /* !/img
Penting
Fitur checkout selektif memerlukan versi agen v3.248.0 (v4.248.0 untuk .NET 8) atau versi-versi yang lebih baru.
Anda dapat menemukan agen di halaman rilis .
Membuat kebijakan lintas repositori peka huruf besar/kecil
Sebelumnya, pratinjau kandidat cabang untuk kebijakan antar repositori menampilkan hasil tanpa memperhatikan huruf besar/kecil, meskipun pencocokan cabang yang peka terhadap huruf besar/kecil. Inkonsistensi ini menciptakan potensi ketidakselarasan, karena dapat terkesan bahwa cabang tertentu tampak dilindungi padahal sebenarnya tidak. Untuk mengatasi masalah ini, kami telah memperbarui pratinjau pola cabang agar sesuai dengan perilaku aplikasi kebijakan yang kasus sensitif.
Sebelumnya:
Sesudah:
Azure Pipelines
Fungsi ekspresi alur baru
Fungsi ekspresi alur memungkinkan Anda menulis alur YAML yang kuat. Dalam sprint ini, kami telah memperkenalkan dua fungsi baru:
iif(condition, value_when_true, value_when_false)
yang mengembalikanvalue_when_true
saatcondition
mengevaluasi ketrue
atauvalue_when_false
jika tidak demikian.trim(string)
yang mengembalikan string baru di mana spasi kosong di awal dan akhir string dihapus
Misalnya, Anda dapat menggunakan fungsi iif
untuk memilih kumpulan secara dinamis untuk menjalankan alur Anda. Jika Anda ingin membuat permintaan pull menggunakan kumpulan Azure Pipelines, tetapi semua eksekusi lainnya harus menggunakan kumpulan DevOps Terkelola, Anda dapat menulis alur berikut.
variables:
poolToUse: ${{ iif(eq(variables['Build.Reason'], 'PullRequest'), 'Azure Pipelines', 'ManagedDevOpsPool')}}
stages:
- stage: build
pool: ${{variables.poolToUse}}
jobs:
- job:
steps:
- task: DotNetCoreCLI@2
inputs:
command: 'build'
Anda dapat menggunakan fungsi trim
untuk membuat YAML Anda lebih tahan terhadap input pengguna. Misalnya, dalam alur berikut, kami menggunakan fungsi trim
untuk memastikan nama tahap tidak dimulai dengan spasi kosong.
parameters:
- name: regions
type: string
default: ' wus1, wus2, wus3,wus4'
stages:
- ${{ each region in split(parameters.regions, ',')}}:
- stage: stage_${{trim(region)}}
displayName: Deploy to ${{trim(region)}}
jobs:
- job: deploy
steps:
- script: ./deploy.sh ${{trim(region)}}
Penyempurnaan pada tugas ValidasiManual
Tugas ManualValidation memungkinkan Anda menjeda proses jalannya pipeline dan menunggu intervensi manual. Salah satu skenario untuk menggunakan tugas ini adalah pengujian manual.
Untuk meningkatkan keamanan alur, Anda mungkin ingin membatasi siapa yang dapat menyelesaikan tugas dan melanjutkan jalannya alur. Untuk tujuan ini, kami memperkenalkan versi baru tugas yang menyediakan dua parameter tambahan:
approvers
: membatasi siapa yang dapat menyelesaikan tugas ke sekumpulan pengguna/ grup keamanan / tim yang telah ditentukan sebelumnyaallowApproversToApproveTheirOwnRuns
: batasi pengguna yang mengantrekan menjalankan pipeline dari melanjutkan eksekusinya
Misalnya, cuplikan YAML berikut membatasi sekumpulan orang yang dapat melanjutkan kembali jalannya pipeline ke anggota grup Pemberi Persetujuan Rilis, tetapi tidak termasuk pengguna yang memicu jalannya pipeline.
- task: ManualValidation@1
inputs:
notifyUsers: 'Release Approvers'
approvers: 'Release Approvers'
allowApproversToApproveTheirOwnRuns: false
Di properti approvers
, Anda bisa menggunakan nilai berikut (dipisahkan koma) :
- Alamat email,
- Kelompok Perizinan
- Tim Proyek
- [ProjectName][Grup Izin]
- [Org][Grup Izin],
- [ProjectName][Tim Proyek]
Rencana Pengujian
Perbaikan bug Azure Test Plans
Dengan sprint ini, kami telah membuat pembaruan untuk Azure Test Plans untuk menyelesaikan beberapa bug dan meningkatkan kegunaan. Berikut adalah apa yang telah diperbaiki:
Hasil langkah bersama terlihat: Memperbaiki bug di mana hasil langkah bersama tidak akan muncul di editor kueri saat mengakses kasus pengujian di Hub Papan Baru.
Sesi mode pemangku kepentingan yang ditingkatkan: Menyelesaikan masalah dalam ekstensi pengujian dan umpan balik yang memblokir pengguna dengan akses pemangku kepentingan agar tidak memulai sesi.
Penyalinan rencana pengujian Cleaner: Memperbaiki masalah di mana persyaratan diduplikasi saat menyalin Rencana Pengujian menggunakan opsi "Referensi Kasus Pengujian yang Ada".
Langkah berikutnya
Nota
Fitur-fitur ini akan diluncurkan selama dua hingga tiga minggu ke depan.
Buka Azure DevOps dan lihat.
Pergi ke Azure DevOps
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 Anda yang dijawab oleh komunitas di Stack Overflow.
Terima kasih
Silviu Andrica