Mengatasi beberapa permintaan dari Komunitas Pengembang

Menanggapi umpan balik Anda, kami telah memprioritaskan beberapa fitur yang telah Anda minta di Komunitas Pengembang. Di Alur, kami menambahkan dukungan untuk fungsi pemisahan string dalam ekspresi YAML. Selain itu, kami sekarang memungkinkan Anda menonaktifkan yang menunjukkan pesan penerapan terakhir untuk eksekusi alur. Dalam Paket Pengiriman, kami meningkatkan batas tim dari 15 menjadi 20.

Lihat catatan rilis untuk detailnya.

Azure Boards

Azure Pipelines

Azure Boards

Meningkatkan batas tim Paket Pengiriman dari 15 menjadi 20

Paket Pengiriman memungkinkan Anda melihat beberapa backlog dan beberapa tim di seluruh organisasi Anda. Sebelumnya, Anda dapat melihat 15 backlog tim, termasuk campuran backlog dan tim dari proyek yang berbeda. Dalam sprint ini kami meningkatkan batas maksimum dari 15 menjadi 20.

Kami memperbaiki bug di Reporting Work Item Links Get API untuk mengembalikan nilai remoteUrl yang benar untuk System.LinkTypes.Remote.Related jenis tautan. Sebelum perbaikan ini, kami mengembalikan nama organisasi yang salah dan id proyek yang hilang.

Perbaikan bug Hub Papan Baru

Dalam sprint ini kami memperbaiki beberapa bug untuk New Boards Hub. Anda dapat melihat daftar perbaikan bug di New Boards Hub, posting blog pembaruan Sprint 209.

Azure Pipelines

Menonaktifkan memperlihatkan pesan penerapan terakhir untuk eksekusi alur

Sebelumnya, UI Alur yang digunakan untuk menampilkan pesan penerapan terakhir saat menampilkan eksekusi alur.

Contoh pesan penerapan terakhir

Pesan ini dapat membingungkan, misalnya, ketika kode alur YAML Anda berada di repositori yang berbeda dari yang menyimpan kode yang sedang dibangunnya. Kami mendengar umpan balik Anda dari Komunitas Pengembang yang meminta cara untuk mengaktifkan/menonaktifkan penambahan pesan penerapan terbaru ke judul setiap eksekusi alur.

Dengan pembaruan ini, kami telah menambahkan properti YAML baru, bernama appendCommitMessageToRunName, yang memungkinkan Anda melakukannya dengan tepat. Secara default, properti diatur ke true. Ketika Anda mengaturnya ke false, eksekusi alur hanya akan menampilkan BuildNumber.

Contoh eksekusi alur dengan nomor build

Contoh eksekusi alur dengan pesan penerapan terakhir

Sumber daya dan parameter templat yang digunakan di Pipelines Runs Rest API

Pipelines Runs REST API yang diperluas sekarang mengembalikan lebih banyak jenis artefak yang digunakan oleh eksekusi alur dan parameter yang digunakan untuk memicu yang berjalan. Kami meningkatkan API untuk mengembalikan container sumber daya dan pipeline dan parameter templat yang digunakan dalam eksekusi alur. Anda sekarang dapat, misalnya, menulis pemeriksaan kepatuhan yang mengevaluasi repositori, kontainer, dan eksekusi alur lainnya yang digunakan oleh alur.

Berikut adalah contoh isi respons baru.

"resources":
{
    "repositories":
    {
        "self":
        {
            "repository":
            {
                "id": "e5c55144-277b-49e3-9905-2dc162e3f663",
                "type": "azureReposGit"
            },
            "refName": "refs/heads/main",
            "version": "44153346ecdbbf66c68c20fadf27f53ea1394db7"
        },
        "MyFirstProject":
        {
            "repository":
            {
                "id": "e5c55144-277b-49e3-9905-2dc162e3f663",
                "type": "azureReposGit"
            },
            "refName": "refs/heads/main",
            "version": "44153346ecdbbf66c68c20fadf27f53ea1394db7"
        }
    },
    "pipelines":
    {
        "SourcePipelineResource":
        {
            "pipeline":
            {
                "url": "https://dev.azure.com/fabrikam/20317ad0-ae49-4588-ae92-6263028b4d83/_apis/pipelines/51?revision=3",
                "id": 51,
                "revision": 3,
                "name": "SourcePipeline",
                "folder": "\\source"
            },
            "version": "20220801.1"
        }
    },
    "containers":
    {
        "windowscontainer":
        {
            "container":
            {
                "environment":
                {
                    "Test": "test"
                },
                "mapDockerSocket": false,
                "image": "mcr.microsoft.com/windows/servercore:ltsc2019",
                "options": "-e 'another_test=tst'",
                "volumes":
                [
                    "C:\\Users\\fabrikamuser\\mount-fabrikam:c:\\mount-fabrikam"
                ],
                "ports":
                [
                    "8080:80",
                    "6379"
                ]
            }
        }
    }
},
"templateParameters":
{
    "includeTemplateSteps": "True"
}

Menambahkan dukungan untuk fungsi pemisahan string dalam ekspresi templat YAML

Alur YAML memberi Anda cara mudah untuk mengurangi duplikasi kode, seperti mengulangi each nilai daftar atau properti objek.

Terkadang, kumpulan item yang akan diulang direpresentasikan sebagai string. Misalnya, ketika daftar lingkungan yang akan disebarkan ditentukan oleh string integration1, integration2.

Saat kami mendengarkan umpan balik Anda dari Komunitas Pengembang, kami mendengar Anda menginginkan fungsi string split dalam ekspresi templat YAML.

Sekarang, Anda dapat split string dan melakukan iterasi di atas each substringnya.

variables:
  environments: integration1, integration2

jobs:
  - job: Deploy
    steps:
    - ${{ each env in split(variables.environments, ', ') }}:
      - script: ./deploy.sh -e ${{ env }}
      - script: ./runTest.sh -e ${{ env }}

Jangan sinkronkan tag saat mengambil repositori Git

Tugas checkout menggunakan --tags opsi dalam mengambil konten repositori Git. Ini menyebabkan server mengambil semua tag serta semua objek yang ditujukkan oleh tag tersebut. Ini meningkatkan waktu untuk menjalankan tugas dalam alur - terutama jika Anda memiliki repositori besar dengan sejumlah tag. Selain itu, tugas checkout menyinkronkan tag bahkan ketika Anda mengaktifkan opsi pengambilan dangkal, sehingga mungkin mengalahkan tujuannya. Untuk mengurangi jumlah data yang diambil atau ditarik dari repositori Git, kami sekarang telah menambahkan opsi baru ke tugas untuk mengontrol perilaku sinkronisasi tag. Opsi ini tersedia baik dalam alur klasik maupun YAML.

Perilaku ini dapat dikontrol dari file YAML atau dari UI.

Untuk menolak menyinkronkan tag melalui file YAML, tambahkan fetchTags: false ke langkah checkout. fetchTags Ketika opsi tidak ditentukan, opsinya sama seperti jika fetchTags: true digunakan.

steps:
- checkout: self  # self represents the repo where the initial Pipelines YAML file was found
  clean: boolean  # whether to fetch clean each time
  fetchTags: boolean # whether to sync the tags
  fetchDepth: number  # the depth of commits to ask Git to fetch
  lfs: boolean  # whether to download Git-LFS files
  submodules: boolean | recursive  # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules
  path: string  # path to check out source code, relative to the agent's build directory (e.g. \_work\1)
  persistCredentials: boolean  # set to 'true' to leave the OAuth token in the Git config after the initial fetch

Jika Anda ingin mengubah perilaku alur YAML yang ada, mungkin lebih nyaman untuk mengatur opsi ini di UI alih-alih memperbarui file YAML. Untuk menavigasi ke UI, buka editor YAML untuk alur, pilih Pemicu, lalu Proses, lalu langkah Checkout.

Jika Anda menentukan pengaturan ini baik dalam file YAML maupun di UI, maka nilai yang ditentukan dalam file YAML lebih diutamakan.

Untuk semua alur baru yang Anda buat (YAML atau Klasik), tag masih disinkronkan secara default. Opsi ini tidak mengubah perilaku alur yang ada. Tag masih akan disinkronkan dalam alur tersebut kecuali Anda secara eksplisit mengubah opsi seperti yang dijelaskan di atas.

Jadwal brownout yang diperbarui untuk gambar Ubuntu 18.04

Azure Pipelines menghentikan gambar Ubuntu 18.04 (ubuntu-18.04) pada kumpulan yang dihosting. Gambar ini akan dihentikan pada 1 Desember. Anda mungkin mulai melihat waktu antrean yang lebih lama.

Untuk membantu Anda mengidentifikasi alur mana yang menggunakan gambar ubuntu-18.04 dengan lebih baik, kami merencanakan brownout. Pekerjaan akan gagal selama periode brownout.

  • Pesan peringatan ditampilkan pada eksekusi alur menggunakan gambar ubuntu-18.04
  • Skrip tersedia untuk membantu Anda menemukan alur menggunakan gambar yang tidak digunakan lagi, termasuk ubuntu-18.04
  • Kami menjadwalkan pendek "brownouts". Setiap eksekusi ubuntu-18.04 akan gagal selama periode brownout. Oleh karena itu, disarankan untuk memigrasikan alur Anda sebelum brownout.

Jadwal Brownout (diperbarui)

  • 3 Oktober, 12:00 UTC - 3 Oktober, 14:00 UTC
  • 18 Oktober, 14:00 UTC - 18 Oktober, 16:00 UTC
  • 15 November, 18:00 UTC - 15 November, 20:00 UTC
  • 30 November, 20:00 UTC - 30 November, 22:00 UTC
  • 15 Desember, 20:00 UTC - 16 Desember 00:00 UTC
  • 5 Januari 10.00 UTC - 5 Januari 14.00 UTC
  • 13 Januari, 12.00 UTC - 13 Januari, 16.00 UTC
  • 18 Januari, 14.00 UTC - 18 Januari, 18.00 UTC
  • 24 Januari 16.00 UTC - 24 Januari 20.00 UTC
  • 1 Februari, 18.00 UTC - 1 Februari, 22.00 UTC
  • 7 Februari, 16.00 UTC - 7 Februari, 22.00 UTC
  • 13 Februari, 14.00 UTC - 13 Februari, 22.00 UTC
  • 21 Februari, 10.00 UTC - 21 Februari, 22.00 UTC
  • 28 Februari, 10.00 UTC - 28 Februari, 22.00 UTC
  • 6 Maret, 00.00 UTC - 7 Maret, 00.00 UTC
  • 13 Maret, 00.00 UTC - 14 Maret, 00.00 UTC
  • 21 Maret, 00.00 UTC - 22 Maret, 00.00 UTC

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 Anda yang dijawab oleh komunitas di Stack Overflow.

Terima kasih,

Aaron Hallberg