Bagikan melalui


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:

  1. Buat koneksi baru di Azure Boards.
  1. 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 mengembalikan value_when_true saat condition mengevaluasi ke true atau value_when_falsejika 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 sebelumnya

  • allowApproversToApproveTheirOwnRuns: 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.

Buat saran

Anda juga bisa mendapatkan saran dan pertanyaan Anda yang dijawab oleh komunitas di Stack Overflow.

Terima kasih

Silviu Andrica