Bagikan melalui


Dukungan untuk kartubebas dan ekspresi bersyarat dalam file alur YAML

Dalam sprint ini, kami menyertakan dukungan untuk kartubebas dan ekspresi bersyarat ke file alur YAML. Selain itu, kami telah membuat beberapa pembaruan pada gambar yang dihosting Azure Pipelines.

Lihat deskripsi fitur berikut untuk detailnya.

Azure Pipelines

Azure Repos

Azure Pipelines

Ekspresi bersyarjana YAML baru

Menulis ekspresi bersyarah dalam file YAML menjadi lebih mudah dengan penggunaan ${{ else }} dan ${{ elseif }} ekspresi. Di bawah ini adalah contoh cara menggunakan ekspresi ini dalam file alur YAML.

steps:
- script: tool
  env:
    ${{ if parameters.debug }}:
      TOOL_DEBUG: true
      TOOL_DEBUG_DIR: _dbg
    ${{ else }}:
      TOOL_DEBUG: false
      TOOL_DEBUG_DIR: _dbg
variables:
  ${{ if eq(parameters.os, 'win') }}:
    testsFolder: windows
  ${{ elseif eq(parameters.os, 'linux') }}:
    testsFolder: linux
  ${{ else }}:
    testsFolder: mac

Dukungan untuk kartubebas dalam filter jalur

Kartubebas dapat digunakan saat menentukan cabang inklusi dan pengecualian untuk pemicu CI atau PR dalam file YAML alur. Namun, filter tersebut tidak dapat digunakan saat menentukan filter jalur. Misalnya, Anda tidak dapat menyertakan semua jalur yang cocok src/app/**/myapp*dengan . Ini telah dinyatakan sebagai ketidaknyamanan oleh beberapa pelanggan. Pembaruan ini mengisi kesenjangan ini. Sekarang, Anda dapat menggunakan karakter wild card (**, *, atau ?) saat menentukan filter jalur.

Dukungan untuk beberapa status di Bitbucket

Azure Pipelines terintegrasi dengan repositori Bitbucket dan mendukung pemicu CI dan PR. Anda dapat menyiapkan beberapa alur dari satu repositori Bitbucket. Namun, ketika alur ini selesai, Anda hanya dapat melihat satu status di Bitbucket. Kami mendengar umpan balik dari Komunitas Pengembang yang meminta untuk melihat status setiap alur secara terpisah di Bitbucket. Dengan pembaruan ini, kami memperbarui panggilan API kami ke Bitbucket dan meneruskan informasi tambahan tentang nama alur.

Status build

Izinkan kontributor untuk melewati pencarian komentar PR sebelum membangun validasi

Saat menggunakan Azure Pipelines dengan repositori GitHub, kami sarankan Anda tidak secara otomatis menjalankan alur validasi PR untuk kontribusi yang diterima dari repositori fork. Praktik terbaik adalah terlebih dahulu meminta salah satu kolaborator repositori meninjau perubahan lalu menambahkan komentar ke PR untuk memicu alur. Anda dapat mengonfigurasi pengaturan ini dengan memilih menu Pemicu (untuk alur YAML) atau tab Pemicu (untuk alur build klasik) di editor web alur. Alih-alih mengharuskan setiap PR dari fork untuk terlebih dahulu ditinjau oleh anggota tim, Anda juga dapat memberlakukan kebijakan ini hanya pada kontribusi yang berasal dari anggota non-tim.

Dengan pembaruan ini, kami mengizinkan Anda untuk melompati mencari komentar PR dari kontribusi yang diterima oleh kontributor apa pun. Sebagai anggota non-tim, saat Anda membuat fork dan membuat PR ke upstream, Anda tidak dianggap sebagai kontributor ke repositori upstram hingga PR Anda digabungkan. Setelah PR Anda digabungkan, Anda akan dianggap sebagai kontributor. Dengan memilih opsi baru yang ditunjukkan di bawah ini, ketika anggota non-tim mengirimkan PR dari fork untuk pertama kalinya, seseorang di tim Anda harus meninjau PR dan menambahkan komentar untuk memicu alur. Tetapi, setelah PR digabungkan, kontribusi lebih lanjut yang dibuat oleh anggota non-tim tersebut akan langsung memicu alur tanpa menunggu komentar PR.

Mewajibkan komentar anggota tim sebelum membuat permintaan pull

Windows Server 2022 dengan Visual Studio 2022 sekarang tersedia di agen yang dihosting Microsoft (pratinjau)

Pratinjau Windows Server 2022 dan Visual Studio Enterprise 2022 sekarang tersedia dalam pratinjau pada agen yang dihosting Microsoft. Anda dapat menggunakannya dengan merujuk windows-2022 sebagai gambar di alur Anda.

pool:
  vmImage: 'windows-2022'

steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
  inputs:
    restoreSolution: '**/*.sln'
- task: VSBuild@1 # Visual Studio 2022 build
  inputs:
    solution: '**/*.sln'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
    platform: 'Any CPU'
    configuration: 'Release'

Ketika Anda mereferensikan kumpulan terbaru windows di alur YAML Anda, itu masih akan berarti windows-2019 dan bukan windows-2022, sementara yang terakhir dalam pratinjau.

Gambar alur Windows Server 2022 memiliki alat dan versi alat yang berbeda jika dibandingkan dengan Windows Server 2019. Anda dapat melihat detail dalam masalah pengumuman perangkat lunak dan di repositori lingkungan virtual dokumentasi.

Ketersediaan umum macOS 11 pada agen yang dihosting Microsoft

macOS 11 sekarang tersedia secara umum di agen yang dihosting Microsoft. Anda dapat menggunakannya dengan merujuk macos-11 sebagai gambar di alur Anda.

pool:
  vmImage: macos-11

Penghapusan gambar Ubuntu 16.04 pada agen yang dihosting Microsoft

Seperti yang diumumkan sebelumnya, kami akan menghapus gambar Ubuntu 16.04 dari agen yang dihosting Microsoft pada 20 September 2021. Dukungan tradisional 5 tahun Ubuntu 16.04 oleh Canonical berakhir pada Bulan April 2021. Anda harus memigrasikan alur ubuntu-16.04 ke ubuntu-18.04 atau ubuntu-latest yang akan berjalan pada Ubuntu 20.04 LTS.

Build yang menggunakan Ubuntu-16.04 sudah memiliki peringatan yang dicatat di dalamnya. Untuk memastikan semua orang mengetahui perubahan ini, kami menjadwalkan 2 "brownout" singkat. Build Ubuntu 16.04 akan gagal selama periode brownout. Oleh karena itu, disarankan untuk memigrasikan alur kerja Anda sebelum 6 September 2021.

Brownout dijadwalkan untuk tanggal dan waktu berikut (Perhatikan bahwa ini telah diperpanjang satu jam dari waktu yang diumumkan sebelumnya): 6 September 2021 16:00 UTC – 22:00 UTC 14 September 2021 16:00 – 22:00 UTC

Azure Repos

Halaman TFVC baru umumnya tersedia

Kami telah memperbarui berbagai halaman di Azure DevOps untuk menggunakan platform web baru dengan tujuan membuat pengalaman lebih konsisten dan lebih mudah diakses di berbagai layanan. Halaman TFVC telah diperbarui untuk menggunakan platform web baru, dan perubahan tersebut telah dalam pratinjau selama beberapa bulan sekarang. Dengan pembaruan ini, kami membuat halaman TFVC baru tersedia secara umum. Dengan pembaruan ini, Anda tidak akan lagi melihat fitur pratinjau yang disebut "Halaman TFVC Baru" di pengaturan pengguna mereka.

Mengonfigurasi pembuat cabang untuk tidak mendapatkan "Kelola izin" di cabang mereka

Saat membuat cabang baru, Anda mendapatkan "Kelola izin" di cabang tersebut. Izin ini memungkinkan Anda mengubah izin pengguna lain atau mengakui pengguna tambahan untuk berkontribusi ke cabang tersebut. Misalnya, pembuat cabang dapat menggunakan izin ini untuk memungkinkan pengguna eksternal lain membuat perubahan pada kode. Atau, mereka dapat mengizinkan alur (membangun identitas layanan) untuk mengubah kode di cabang tersebut. Di organisasi tertentu dengan persyaratan kepatuhan yang lebih tinggi, pengguna seharusnya tidak dapat membuat perubahan tersebut.

Dengan pembaruan ini, Anda dapat mengonfigurasi setiap dan semua repositori dalam proyek tim Anda dan membatasi pembuat cabang untuk mendapatkan izin "Kelola izin". Untuk melakukan ini, navigasikan ke pengaturan proyek, pilih Repositori, lalu Pengaturan untuk semua repositori atau repositori tertentu.

Semua pengaturan repositori

Pengaturan ini aktif secara default untuk menimpa perilaku yang ada. Tapi, Anda dapat menonaktifkannya jika Anda ingin menggunakan fitur keamanan baru ini.

Mencegah pengguna fork untuk memilih pada PR upstream mereka

Dengan Azure Repos, pengguna dengan izin "baca" pada repositori dapat membuat fork repositori dan membuat perubahan di fork mereka. Untuk mengirimkan permintaan pull dengan perubahan mereka ke upstream, pengguna perlu izin "berkontribusi pada permintaan pull" di upstream. Namun, izin ini juga mengatur siapa yang dapat memilih permintaan pull di repositori hulu. Akibatnya, Anda dapat berakhir dalam situasi di mana pengguna, yang bukan kontributor ke repositori, dapat mengirimkan permintaan pull dan menyebabkannya digabungkan tergantung pada cara Anda menyiapkan kebijakan cabang.

Dalam organisasi yang mempromosikan model sumber dalam, fork-and-contribute adalah pola umum. Untuk mengamankan dan mempromosikan pola ini lebih lanjut, kami mengubah izin untuk memilih permintaan pull dari "berkontribusi terhadap permintaan pull" menjadi "berkontribusi". Namun, perubahan ini tidak dilakukan secara default di semua organisasi. Anda harus ikut serta dan memilih kebijakan baru di repositori Anda, yang disebut "Mode Pemungutan Suara Ketat" untuk mengalihkan izin ini. Sebaiknya Anda melakukannya jika Anda mengandalkan fork di Azure Repos.

Pengaturan repositori

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.

Buat saran

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

Terima kasih,

Aaron Hallberg