Agen Azure Pipelines

| Azure DevOps Services Azure DevOps Server 2020 | | Azure DevOps Server 2019 TFS 2018

Catatan

Di Microsoft Team Foundation Server (TFS) 2018 dan versi sebelumnya, alur build dan rilis disebut definisi, eksekusi disebut build, koneksi layanan disebut titik akhir layanan, tahapan disebut lingkungan, dan pekerjaan disebut fase.

Untuk membangun kode atau menyebarkan perangkat lunak menggunakan Azure Pipelines, Anda memerlukan setidaknya satu agen. Saat Anda menambahkan lebih banyak kode dan orang, pada akhirnya Anda akan membutuhkan lebih banyak agen.

Saat alur Anda berjalan, sistem memulai satu atau beberapa pekerjaan. Agen sedang menghitung infrastruktur dengan perangkat lunak agen terinstal yang menjalankan satu pekerjaan pada satu waktu.

Pekerjaan dapat dijalankan langsung di komputer host agen atau dalam kontainer.

Agen yang di-hosting Microsoft

Jika alur Anda berada di Azure Pipelines, maka Anda memiliki opsi yang nyaman untuk menjalankan pekerjaan Anda menggunakan agen yang dihosting Microsoft. Dengan agen yang di-host Microsoft, pemeliharaan dan peningkatan akan dilakukan untuk Anda. Setiap kali Anda menjalankan alur, Anda mendapatkan komputer virtual baru untuk setiap pekerjaan di alur. Komputer virtual dibuang setelah satu pekerjaan (yang berarti perubahan apa pun yang dilakukan pekerjaan pada sistem file komputer virtual, seperti memeriksa kode, tidak akan tersedia untuk pekerjaan berikutnya). Agen yang dihosting Microsoft dapat menjalankan pekerjaan langsung di VM atau dalam kontainer.

Azure Pipelines menyediakan kumpulan agen yang telah ditentukan sebelumnya bernama Azure Pipelines dengan agen yang dihosting Microsoft.

Bagi banyak tim, ini adalah cara paling sederhana untuk menjalankan pekerjaan Anda. Anda dapat mencobanya terlebih dahulu dan melihat apakah itu berfungsi untuk build atau penyebaran Anda. Jika tidak, Anda dapat menggunakan agen yang di-host mandiri.

Tip

Anda dapat mencoba agen yang dihosting Microsoft tanpa biaya.

Pelajari selengkapnya tentang agen yang dihosting Microsoft.

Agen yang di-hosting secara mandiri

Agen yang Anda siapkan dan kelola sendiri untuk menjalankan pekerjaan adalah agen yang dihost sendiri. Anda dapat menggunakan agen yang dihost sendiri di Azure Pipelines atau Azure DevOps Server, yang sebelumnya bernama Team Foundation Server (TFS). Agen yang dihost sendiri memberi Anda lebih banyak kontrol untuk menginstal perangkat lunak dependen yang diperlukan untuk build dan penyebaran Anda. Selain itu, cache dan konfigurasi tingkat mesin tetap berjalan untuk dijalankan, yang dapat meningkatkan kecepatan.

Catatan

Meskipun beberapa agen dapat diinstal per mesin, kami sangat menyarankan untuk hanya menginstal satu agen per mesin. Menginstal dua agen atau lebih dapat berdampak buruk pada performa dan hasil alur Anda.

Tip

Sebelum menginstal agen yang dihost sendiri, Anda mungkin ingin melihat apakah kumpulan agen yang dihosting Microsoft akan berfungsi untuk Anda. Dalam banyak kasus, ini adalah cara paling sederhana untuk pergi. Cobalah.

Anda dapat menginstal agen di komputer Linux, macOS, atau Windows. Anda juga dapat menginstal agen pada kontainer Docker. Untuk informasi selengkapnya tentang menginstal agen yang dihost sendiri, lihat:

Catatan

Di macOS, Anda perlu menghapus atribut khusus pada arsip unduhan untuk mencegah perlindungan Gatekeeper ditampilkan untuk setiap perakitan dalam file tar saat ./config.sh dijalankan. Perintah berikut menghapus atribut yang diperluas pada file:

xattr -c vsts-agent-osx-x64-V.v.v.tar.gz  ## replace V.v.v with the version in the filename downloaded.

# then unpack the gzip tar file normally:

tar xvfz vsts-agent-osx-x64-V.v.v.tar.gz

Setelah menginstal agen pada komputer, Anda dapat menginstal perangkat lunak lain pada mesin tersebut sesuai kebutuhan pekerjaan Anda.

Catatan

Agen kompatibel secara luas ke belakang. Versi agen apa pun harus kompatibel dengan versi Azure DevOps apa pun selama Azure DevOps tidak menuntut versi agen yang lebih tinggi.

Kami hanya mendukung versi terbaru agen karena itu adalah satu-satunya versi yang dijamin memiliki semua patch dan perbaikan bug terbaru.

Agen set skala komputer virtual Azure

Agen set skala komputer virtual Azure adalah bentuk agen yang dihost sendiri yang dapat diskalakan secara otomatis untuk memenuhi tuntutan Anda. Elastisitas ini mengurangi kebutuhan Anda untuk menjalankan agen khusus sepanjang waktu. Tidak seperti agen yang dihosting Microsoft, Anda memiliki fleksibilitas atas ukuran dan gambar komputer tempat agen berjalan.

Anda menentukan set skala komputer virtual, sejumlah agen untuk tetap siaga, jumlah maksimum komputer virtual dalam set skala, dan Azure Pipelines mengelola penskalaan agen Anda untuk Anda.

Untuk informasi selengkapnya, lihat Agen set skala komputer virtual Azure.

Pekerjaan paralel

Pekerjaan paralel mewakili jumlah pekerjaan yang dapat Anda jalankan secara bersamaan di organisasi Anda. Jika organisasi Anda memiliki satu pekerjaan paralel, Anda dapat menjalankan satu pekerjaan pada satu waktu di organisasi Anda, dengan pekerjaan bersamaan tambahan yang diantrekan hingga pekerjaan pertama selesai. Untuk menjalankan dua pekerjaan secara bersamaan, Anda memerlukan dua pekerjaan paralel. Di Azure Pipelines, Anda dapat menjalankan pekerjaan paralel pada infrastruktur yang dihosting Microsoft atau infrastruktur Anda sendiri (dihost sendiri).

Microsoft menyediakan tingkat layanan gratis secara default di setiap organisasi yang mencakup setidaknya satu pekerjaan paralel. Bergantung pada jumlah alur bersamaan yang perlu Anda jalankan, Anda mungkin memerlukan lebih banyak pekerjaan paralel untuk menggunakan beberapa agen yang dihosting microsoft atau dihost sendiri secara bersamaan. Untuk informasi selengkapnya tentang pekerjaan paralel dan tingkat layanan gratis yang berbeda, lihat Pekerjaan paralel di Azure Pipelines.

Anda mungkin memerlukan lebih banyak pekerjaan paralel untuk menggunakan beberapa agen secara bersamaan:

Penting

Dimulai dengan Azure DevOps Server 2019, Anda tidak perlu membayar untuk pekerjaan bersamaan yang dihost sendiri dalam rilis. Anda hanya dibatasi oleh jumlah agen yang Anda miliki.

Kemampuan

Setiap agen yang dihost sendiri memiliki serangkaian kemampuan yang menunjukkan apa yang dapat dilakukannya. Kemampuan adalah pasangan nilai nama yang secara otomatis ditemukan oleh perangkat lunak agen, dalam hal ini mereka disebut kemampuan sistem, atau yang Anda tentukan, dalam hal ini mereka disebut kemampuan pengguna.

Perangkat lunak agen secara otomatis menentukan berbagai kemampuan sistem seperti nama komputer, jenis sistem operasi, dan versi perangkat lunak tertentu yang diinstal pada komputer. Selain itu, variabel lingkungan yang ditentukan dalam komputer secara otomatis muncul dalam daftar kemampuan sistem.

Catatan

Menyimpan variabel lingkungan sebagai kemampuan berarti bahwa ketika agen berjalan, nilai kemampuan tersimpan digunakan untuk mengatur variabel lingkungan. Selain itu, setiap perubahan pada variabel lingkungan yang dilakukan saat agen berjalan tidak akan diambil dan digunakan oleh tugas apa pun. Jika Anda memiliki variabel lingkungan sensitif yang berubah dan Anda tidak ingin variabel disimpan sebagai kemampuan, Anda dapat mengabaikannya dengan mengatur VSO_AGENT_IGNORE variabel lingkungan, dengan daftar variabel yang dibatasi koma untuk diabaikan. Misalnya, PATH adalah variabel penting yang mungkin ingin Anda abaikan jika Anda menginstal perangkat lunak.

Saat Anda menulis alur, Anda menentukan tuntutan tertentu dari agen. Sistem mengirimkan pekerjaan hanya ke agen yang memiliki kemampuan yang cocok dengan tuntutan yang ditentukan dalam alur. Akibatnya, kemampuan agen memungkinkan Anda mengarahkan pekerjaan ke agen tertentu.

Catatan

Tuntutan dan kemampuan dirancang untuk digunakan dengan agen yang dihost sendiri sehingga pekerjaan dapat dicocokkan dengan agen yang memenuhi persyaratan pekerjaan. Saat menggunakan agen yang dihosting Microsoft, Anda memilih gambar untuk agen yang cocok dengan persyaratan pekerjaan, jadi meskipun dimungkinkan untuk menambahkan kemampuan ke agen yang dihosting Microsoft, Anda tidak perlu menggunakan kemampuan dengan agen yang dihosting Microsoft.

Mengonfigurasi kemampuan agen

Anda dapat melihat detail agen, termasuk versi dan kemampuan sistemnya, dan mengelola kemampuan penggunanya, dengan menavigasi ke kumpulan Agen dan memilih tab Kemampuan untuk agen yang diinginkan.

  1. Di browser web Anda, navigasikan ke Kumpulan agen:

    1. Pilih Azure DevOps, Pengaturan organisasi.

      Choose Organization settings.

    2. Pilih Kumpulan agen.

      Choose Agent pools tab.

    1. Pilih Azure DevOps, Pengaturan koleksi.

      Choose Collection settings.

    2. Pilih Kumpulan agen.

      Choose Agent pools.

    1. Pilih Azure DevOps, Pengaturan koleksi.

      Collection settings, 2019.

    2. Pilih Kumpulan agen.

      Choose Agent pools, 2019.

    1. Navigasikan ke proyek Anda dan pilih Antrean AgenPengaturan (ikon gigi). >

      Choose Settings, Agent Queues, 2018.

    2. Pilih Kelola kumpulan.

      Choose Manage pools, 2018.

  2. Navigasi ke tab kapabilitas:

    1. Dari tab Kumpulan agen , pilih kumpulan agen yang diinginkan.

      From Agent pools, select the desired agent pool.

    2. Pilih Agen dan pilih agen yang diinginkan.

      Select Agents and choose the agent.

    3. Pilih tab Kapabilitas .

      Choose the Capabilities tab.

      Catatan

      Agen yang dihosting Microsoft tidak menampilkan kemampuan sistem. Untuk daftar perangkat lunak yang diinstal pada agen yang dihosting Microsoft, lihat Menggunakan agen yang dihosting Microsoft.

    1. Dari tab Kumpulan agen , pilih kumpulan yang diinginkan.

      Select the desired pool.

    2. Pilih Agen dan pilih agen yang diinginkan.

      Select Agents and choose the desired agent.

    3. Pilih tab Kapabilitas .

      Agent capabilities tab.

    1. Dari tab Kumpulan agen , pilih kumpulan yang diinginkan.

      Select the desired tab, 2019.

    2. Pilih Agen dan pilih agen yang diinginkan.

      Choose the desired agent, 2019.

    3. Pilih tab Kapabilitas .

      Choose the Capabilities tab, 2019.

    Pilih agen yang diinginkan, dan pilih tab Kemampuan .

    Agent capabilities tab, 2018.

  3. Untuk mendaftarkan kemampuan baru dengan agen, pilih Tambahkan kemampuan baru.

Tip

Setelah Anda menginstal perangkat lunak baru pada agen yang dihost sendiri, Anda harus memulai ulang agen agar kemampuan baru muncul. Untuk informasi selengkapnya, lihat Menghidupkan ulang agen Windows, Memulai ulang agen Linux, dan Memulai ulang agen Mac.

Komunikasi

Komunikasi dengan Azure Pipelines

Komunikasi dengan TFS

Agen berkomunikasi dengan Azure Pipelines atau Azure DevOps Server untuk menentukan pekerjaan mana yang perlu dijalankan, dan untuk melaporkan log dan status pekerjaan. Komunikasi ini selalu dimulai oleh agen. Semua pesan dari agen ke Azure Pipelines atau Azure DevOps Server terjadi melalui HTTP atau HTTPS, tergantung pada cara Anda mengonfigurasi agen. Model penarikan ini memungkinkan agen untuk dikonfigurasi dalam topologi yang berbeda seperti yang ditunjukkan di bawah ini.

Agent topologies in on-premises installations.

Agent topologies in Azure DevOps Services.

Berikut adalah pola komunikasi umum antara agen dan Azure Pipelines atau Azure DevOps Server.

  1. Pengguna mendaftarkan agen dengan Azure Pipelines atau Azure DevOps Server dengan menambahkannya ke kumpulan agen. Anda harus menjadi administrator kumpulan agen untuk mendaftarkan agen di kumpulan agen tersebut. Identitas administrator kumpulan agen hanya diperlukan pada saat pendaftaran dan tidak bertahan pada agen, juga tidak digunakan dalam komunikasi lebih lanjut antara agen dan Azure Pipelines atau Azure DevOps Server. Setelah pendaftaran selesai, agen mengunduh token OAuth pendengar dan menggunakannya untuk mendengarkan antrean pekerjaan.

  2. Agen mendengarkan untuk melihat apakah permintaan pekerjaan baru telah diposting untuknya dalam antrean pekerjaan di Azure Pipelines/Azure DevOps Server menggunakan polling panjang HTTP. Ketika pekerjaan tersedia, agen mengunduh pekerjaan serta token OAuth khusus pekerjaan. Token ini dihasilkan oleh Azure Pipelines/Azure DevOps Server untuk identitas terlingkup yang ditentukan dalam alur. Token tersebut berumur pendek dan digunakan oleh agen untuk mengakses sumber daya (misalnya, kode sumber) atau memodifikasi sumber daya (misalnya, mengunggah hasil pengujian) pada Azure Pipelines atau Azure DevOps Server dalam pekerjaan tersebut.

  3. Setelah pekerjaan selesai, agen membuang token OAuth khusus pekerjaan dan kembali memeriksa apakah ada permintaan pekerjaan baru menggunakan token OAuth pendengar.

Payload pesan yang dipertukarkan antara agen dan Azure Pipelines/Azure DevOps Server diamankan menggunakan enkripsi asimetris. Setiap agen memiliki pasangan kunci publik-privat, dan kunci publik dipertukarkan dengan server selama pendaftaran. Server menggunakan kunci publik untuk mengenkripsi payload pekerjaan sebelum mengirimkannya ke agen. Agen mendekripsi konten pekerjaan menggunakan kunci privatnya. Ini adalah bagaimana rahasia yang disimpan dalam alur atau grup variabel diamankan karena ditukar dengan agen.

Komunikasi untuk disebarkan ke server target

Ketika Anda menggunakan agen untuk menyebarkan artefak ke sekumpulan server, agen harus memiliki konektivitas "garis pandang" ke server tersebut. Kumpulan agen yang di-host Microsoft, secara default, memiliki konektivitas ke situs web dan server Azure yang berjalan di Azure.

Catatan

Jika sumber daya Azure Anda berjalan di Azure Virtual Network, Anda bisa mendapatkan rentang IP Agen tempat agen yang dihosting Microsoft disebarkan sehingga Anda dapat mengonfigurasi aturan firewall untuk Azure VNet Anda untuk mengizinkan akses oleh agen.

Jika lingkungan lokal Anda tidak memiliki konektivitas ke kumpulan agen yang dihosting Microsoft (yang biasanya terjadi karena firewall perantara), Anda harus mengonfigurasi agen yang dihost sendiri secara manual di komputer lokal. Agen harus memiliki konektivitas ke lingkungan lokal target, dan akses ke Internet untuk terhubung ke Azure Pipelines atau Team Foundation Server, seperti yang ditunjukkan dalam skema berikut.

Agent connectivity for on-premises environments

Autentikasi

Untuk mendaftarkan agen, Anda harus menjadi anggota peran administrator di kumpulan agen. Identitas administrator kumpulan agen hanya diperlukan pada saat pendaftaran dan tidak bertahan pada agen, dan tidak digunakan dalam komunikasi berikutnya antara agen dan Azure Pipelines atau Azure DevOps Server. Selain itu, Anda harus menjadi administrator lokal di server untuk mengonfigurasi agen.

Agen Anda dapat mengautentikasi ke Azure Pipelines menggunakan metode berikut:

Agen Anda dapat mengautentikasi ke Azure DevOps Server atau TFS menggunakan salah satu metode berikut:

Token Akses Pribadi (PAT):

Buat dan gunakan PAT untuk menyambungkan agen dengan Azure Pipelines atau TFS 2017 dan yang lebih baru. PAT adalah satu-satunya skema yang bekerja dengan Azure Pipelines. PAT harus memiliki cakupan Kumpulan Agen (baca, kelola) (untuk agen grup penyebaran , PAT harus memiliki cakupan Grup penyebaran (baca, kelola ), dan sementara satu PAT dapat digunakan untuk mendaftarkan beberapa agen, PAT hanya digunakan pada saat mendaftarkan agen, dan bukan untuk komunikasi berikutnya. Untuk informasi selengkapnya, lihat bagian Mengautentikasi dengan token akses pribadi (PAT) di artikel agen yang dihosting sendiri Windows, Linux, atau macOS.

Untuk menggunakan PAT dengan Azure DevOps Server, server Anda harus dikonfigurasi dengan HTTPS. Lihat Pengaturan dan keamanan situs web.

Terintegrasi

Koneksi agen Windows ke TFS menggunakan kredensial pengguna yang masuk melalui skema autentikasi Windows seperti NTLM atau Kerberos.

Untuk menggunakan metode autentikasi ini, Anda harus terlebih dahulu mengonfigurasi server TFS Anda.

  1. Masuk ke mesin tempat Anda menjalankan TFS.

  2. Mulai Layanan Informasi Internet (IIS) Manager. Pilih situs TFS Anda dan pastikan autentikasi Windows diaktifkan dengan penyedia yang valid seperti NTLM atau Kerberos.

IIS TFS windows authentication

IIS TFS windows authentication with ntlm provider

Negosiasi

Koneksi ke TFS sebagai pengguna selain pengguna yang masuk melalui skema autentikasi Windows seperti NTLM atau Kerberos.

Untuk menggunakan metode autentikasi ini, Anda harus terlebih dahulu mengonfigurasi server TFS Anda.

  1. Masuk ke mesin tempat Anda menjalankan TFS.

  2. Mulai Layanan Informasi Internet (IIS) Manager. Pilih situs TFS Anda dan pastikan autentikasi Windows diaktifkan dengan penyedia Negosiasi dan dengan metode lain seperti NTLM atau Kerberos.

IIS TFS windows authentication

IIS TFS windows authentication with negotiate and ntlm provider

Alternatif

Koneksi ke TFS menggunakan autentikasi Dasar. Untuk menggunakan metode ini, Anda harus terlebih dahulu mengonfigurasi HTTPS pada TFS.

Untuk menggunakan metode autentikasi ini, Anda harus mengonfigurasi server TFS Anda sebagai berikut:

  1. Masuk ke mesin tempat Anda menjalankan TFS.

  2. Mengonfigurasi autentikasi dasar. Lihat Menggunakan tfx terhadap Team Foundation Server 2015 menggunakan Autentikasi Dasar.

Interaktif vs. layanan

Anda dapat menjalankan agen yang dihost sendiri sebagai layanan atau proses interaktif. Setelah mengonfigurasi agen, kami sarankan Anda terlebih dahulu mencobanya dalam mode interaktif untuk memastikan agen berfungsi. Kemudian, untuk penggunaan produksi, kami sarankan Anda menjalankan agen dalam salah satu mode berikut sehingga dengan andal tetap dalam keadaan berjalan. Mode ini juga memastikan bahwa agen dimulai secara otomatis jika komputer dihidupkan ulang.

  1. Sebagai layanan. Anda dapat memanfaatkan manajer layanan sistem operasi untuk mengelola siklus hidup agen. Selain itu, pengalaman untuk meningkatkan agen secara otomatis lebih baik ketika dijalankan sebagai layanan.

  2. Sebagai proses interaktif dengan masuk otomatis diaktifkan. Dalam beberapa kasus, Anda mungkin perlu menjalankan agen secara interaktif untuk penggunaan produksi - seperti menjalankan pengujian antarmuka pengguna. Saat agen dikonfigurasi untuk berjalan dalam mode ini, screensaver juga dinonaktifkan. Beberapa kebijakan domain mungkin mencegah Anda mengaktifkan masuk otomatis atau menonaktifkan pengaman layar. Dalam kasus seperti itu, Anda mungkin perlu mencari pengecualian dari kebijakan domain, atau menjalankan agen di komputer grup kerja tempat kebijakan domain tidak berlaku.

    Catatan

    Ada risiko keamanan ketika Anda memfungsikan masuk otomatis atau menonaktifkan pengaman layar karena Anda memfungsikan pengguna lain untuk berjalan ke komputer dan menggunakan akun yang otomatis masuk. Jika Anda mengonfigurasi agen untuk berjalan dengan cara ini, Anda harus memastikan komputer terlindungi secara fisik; misalnya, terletak di fasilitas yang aman. Jika Anda menggunakan Desktop Jauh untuk mengakses komputer tempat agen berjalan dengan masuk otomatis, cukup menutup Desktop Jauh menyebabkan komputer dikunci dan pengujian UI apa pun yang berjalan pada agen ini mungkin gagal. Untuk menghindari hal ini, gunakan perintah tscon untuk memutuskan sambungan dari Desktop Jauh. Contohnya:

    %windir%\System32\tscon.exe 1 /dest:console

Akun agen

Baik Anda menjalankan agen sebagai layanan atau secara interaktif, Anda dapat memilih akun komputer mana yang Anda gunakan untuk menjalankan agen. (Perhatikan bahwa ini berbeda dari kredensial yang Anda gunakan saat mendaftarkan agen dengan Azure Pipelines atau Azure DevOps Server.) Pilihan akun agen hanya bergantung pada kebutuhan tugas yang berjalan dalam pekerjaan build dan penyebaran Anda.

Misalnya, untuk menjalankan tugas yang menggunakan autentikasi Windows untuk mengakses layanan eksternal, Anda harus menjalankan agen menggunakan akun yang memiliki akses ke layanan tersebut. Namun, jika Anda menjalankan pengujian UI seperti selenium atau pengujian antarmuka pengguna Berkode yang memerlukan browser, browser diluncurkan dalam konteks akun agen.

Pada Windows, Anda harus mempertimbangkan untuk menggunakan akun layanan seperti Layanan Jaringan atau Layanan Lokal. Akun-akun ini memiliki izin terbatas dan kata sandinya tidak kedaluwarsa, yang berarti agen memerlukan lebih sedikit manajemen dari waktu ke waktu.

Versi dan peningkatan agen

Kami memperbarui perangkat lunak agen setiap beberapa minggu di Azure Pipelines. Kami menunjukkan versi agen dalam format {major}.{minor}. Misalnya, jika versi agen adalah 2.1, maka versi utamanya adalah 2 dan versi minornya adalah 1.

Agen yang dihosting Microsoft selalu diperbarui. Jika versi agen yang lebih baru hanya berbeda dalam versi minor, agen yang dihost sendiri biasanya dapat diperbarui secara otomatis (mengonfigurasi pengaturan ini di kumpulan Agen, pilih agen Anda, Pengaturan - default diaktifkan) oleh Azure Pipelines. Peningkatan diminta ketika fitur platform atau salah satu tugas yang digunakan dalam alur memerlukan versi agen yang lebih baru.

Jika Anda menjalankan agen yang dihost sendiri secara interaktif, atau jika ada versi utama agen yang lebih baru yang tersedia, maka Anda mungkin harus meningkatkan agen secara manual. Anda dapat melakukan ini dengan mudah dari tab Kumpulan agen di bawah organisasi Anda. Alur Anda tidak akan berjalan sampai mereka dapat menargetkan agen yang kompatibel.

Untuk memperbarui agen yang dihost sendiri

  1. Navigasi ke pengaturan Project, Kumpulan agen.

    Project settings, Agent pools

  2. Pilih kumpulan agen Anda dan pilih Perbarui semua agen.

    Update all agents

    Anda juga dapat memperbarui agen satu per satu dengan memilih Agen pembaruan dari menu ... .

    Update agent

  3. Pilih Perbarui untuk mengonfirmasi pembaruan.

    Update all agents confirmation

  4. Permintaan pembaruan diantrekan untuk setiap agen di kumpulan, yang berjalan ketika pekerjaan yang sedang berjalan selesai. Peningkatan biasanya hanya membutuhkan waktu beberapa saat - cukup lama untuk mengunduh versi terbaru perangkat lunak agen (sekitar 200 MB), membuka zipnya, dan memulai ulang agen dengan versi baru. Anda dapat memantau status agen Anda pada tab Agen .

Kami memperbarui perangkat lunak agen dengan setiap pembaruan di Azure DevOps Server dan TFS. Kami menunjukkan versi agen dalam format {major}.{minor}. Misalnya, jika versi agen adalah 2.1, maka versi utamanya adalah 2 dan versi minornya adalah 1.

Ketika server Azure DevOps Server atau TFS Anda memiliki versi agen yang lebih baru, dan agen yang lebih baru hanya berbeda dalam versi minor, biasanya dapat ditingkatkan secara otomatis. Peningkatan diminta ketika fitur platform atau salah satu tugas yang digunakan dalam alur memerlukan versi agen yang lebih baru. Dimulai dengan Azure DevOps Server 2019, Anda tidak perlu menunggu rilis server baru. Anda dapat mengunggah versi baru agen ke tingkat aplikasi Anda, dan versi tersebut akan ditawarkan sebagai peningkatan.

Jika Anda menjalankan agen secara interaktif, atau jika ada versi utama agen yang lebih baru yang tersedia, maka Anda mungkin harus meningkatkan agen secara manual. Anda dapat melakukan ini dengan mudah dari tab Kumpulan agen di bawah koleksi proyek Anda. Alur Anda tidak akan berjalan sampai mereka dapat menargetkan agen yang kompatibel.

Anda dapat melihat versi agen dengan menavigasi ke kumpulan Agen dan memilih tab Kemampuan untuk agen yang diinginkan, seperti yang dijelaskan dalam Mengonfigurasi kemampuan agen.

Untuk memicu pembaruan agen secara terprogram, Anda dapat menggunakan API pembaruan Agen seperti yang dijelaskan di bagian Bagaimana cara memicu pembaruan agen secara terprogram untuk kumpulan agen tertentu?.

Catatan

Untuk server tanpa akses internet, salin file zip agen secara manual untuk C:\ProgramData\Microsoft\Azure DevOps\Agents\ digunakan sebagai file lokal.

FAQ

Bagaimana cara memastikan saya memiliki versi agen v2 terbaru?

  1. Navigasi ke tab Kumpulan agen :

    1. Pilih Azure DevOps, Pengaturan organisasi.

      Choose Organization settings.

    2. Pilih Kumpulan agen.

      Choose Agent pools tab.

    1. Pilih Azure DevOps, Pengaturan koleksi.

      Choose Collection settings.

    2. Pilih Kumpulan agen.

      Choose Agent pools.

    1. Pilih Azure DevOps, Pengaturan koleksi.

      Collection settings, 2019.

    2. Pilih Kumpulan agen.

      Choose Agent pools, 2019.

    1. Navigasikan ke proyek Anda dan pilih Antrean AgenPengaturan (ikon gigi). >

      Choose Settings, Agent Queues, 2018.

    2. Pilih Kelola kumpulan.

      Choose Manage pools, 2018.

  2. Klik kumpulan yang berisi agen.

  3. Pastikan agen diaktifkan.

  4. Navigasi ke tab kapabilitas:

    1. Dari tab Kumpulan agen , pilih kumpulan agen yang diinginkan.

      From Agent pools, select the desired agent pool.

    2. Pilih Agen dan pilih agen yang diinginkan.

      Select Agents and choose the agent.

    3. Pilih tab Kapabilitas .

      Choose the Capabilities tab.

      Catatan

      Agen yang dihosting Microsoft tidak menampilkan kemampuan sistem. Untuk daftar perangkat lunak yang diinstal pada agen yang dihosting Microsoft, lihat Menggunakan agen yang dihosting Microsoft.

    1. Dari tab Kumpulan agen , pilih kumpulan yang diinginkan.

      Select the desired pool.

    2. Pilih Agen dan pilih agen yang diinginkan.

      Select Agents and choose the desired agent.

    3. Pilih tab Kapabilitas .

      Agent capabilities tab.

    1. Dari tab Kumpulan agen , pilih kumpulan yang diinginkan.

      Select the desired tab, 2019.

    2. Pilih Agen dan pilih agen yang diinginkan.

      Choose the desired agent, 2019.

    3. Pilih tab Kapabilitas .

      Choose the Capabilities tab, 2019.

    Pilih agen yang diinginkan, dan pilih tab Kemampuan .

    Agent capabilities tab, 2018.

  5. Cari kemampuannya Agent.Version . Anda dapat memeriksa nilai ini terhadap versi agen terbaru yang diterbitkan. Lihat Agen Azure Pipelines dan periksa halaman untuk nomor versi tertinggi yang tercantum.

  6. Setiap agen secara otomatis memperbarui dirinya sendiri ketika menjalankan tugas yang memerlukan versi agen yang lebih baru. Jika Anda ingin memperbarui beberapa agen secara manual, klik kanan kumpulan, dan pilih Perbarui semua agen.

Dapatkah saya memperbarui agen v2 saya yang merupakan bagian dari kumpulan Azure DevOps Server?

Ya. Dimulai dengan Azure DevOps Server 2019, Anda dapat mengonfigurasi server Untuk mencari file paket agen pada disk lokal. Konfigurasi ini akan menggantikan versi default yang disertakan dengan server pada saat rilis. Skenario ini juga berlaku ketika server tidak memiliki akses ke internet.

  1. Dari komputer dengan akses Internet, unduh versi terbaru file paket agen (dalam bentuk .zip atau .tar.gz) dari halaman Azure Pipelines Agent GitHub Releases.

  2. Transfer file paket yang diunduh ke setiap Azure DevOps Server Tingkat Aplikasi dengan menggunakan metode pilihan Anda (seperti drive USB, Transfer jaringan, dan sebagainya). Tempatkan file agen di %ProgramData%\Microsoft\Azure DevOps\Agents bawah folder .

  3. Anda sudah siap! Azure DevOps Server Anda sekarang akan menggunakan file lokal setiap kali agen diperbarui. Setiap agen secara otomatis memperbarui dirinya sendiri ketika menjalankan tugas yang memerlukan versi agen yang lebih baru. Tetapi jika Anda ingin memperbarui beberapa agen secara manual, klik kanan kumpulan, lalu pilih Perbarui semua agen.

Apakah agen yang di-host mandiri memiliki keunggulan performa dibandingkan agen yang di-host Microsoft?

Dalam banyak kasus, ya. Khususnya:

  • Jika Anda menggunakan agen yang di-host mandiri, Anda dapat menjalankan build bertambah bertahap. Misalnya, jika Anda menentukan alur yang tidak membersihkan repositori dan tidak melakukan build bersih, build Anda biasanya akan berjalan lebih cepat. Saat Anda menggunakan agen yang dihosting Microsoft, Anda tidak mendapatkan manfaat ini karena agen dihancurkan setelah alur build atau rilis selesai.

  • Agen yang di-host Microsoft dapat memakan waktu lebih lama untuk memulai build Anda. Meskipun sering kali hanya membutuhkan beberapa detik agar pekerjaan Anda ditetapkan ke agen yang dihosting Microsoft, terkadang perlu beberapa menit agar agen dialokasikan tergantung pada beban pada sistem kami.

Dapatkah saya menginstal beberapa agen yang di-host mandiri di komputer yang sama?

Ya. Pendekatan ini dapat bekerja dengan baik untuk agen yang menjalankan pekerjaan yang tidak menggunakan banyak sumber daya bersama. Misalnya, Anda dapat mencobanya untuk agen yang menjalankan rilis yang sebagian besar mengatur penyebaran dan tidak melakukan banyak pekerjaan pada agen itu sendiri.

Anda mungkin menemukan bahwa dalam kasus lain Anda tidak mendapatkan banyak efisiensi dengan menjalankan beberapa agen pada komputer yang sama. Misalnya, mungkin tidak berguna untuk agen yang menjalankan build yang mengonsumsi banyak disk dan sumber daya I/O.

Anda mungkin juga mengalami masalah jika pekerjaan build paralel menggunakan penyebaran alat singleton yang sama, seperti paket npm. Misalnya, satu build mungkin memperbarui dependensi sementara build lain sedang menggunakannya, yang dapat menyebabkan hasil dan kesalahan yang tidak dapat diandalkan.

Apa perilaku agen ketika pekerjaan alur dibatalkan?

Untuk agen yang dihosting Microsoft, agen ditumbangkan dan dikembalikan ke kumpulan Azure Pipelines.

Untuk agen yang dihost sendiri:

Ketika alur dibatalkan, agen mengirimkan urutan perintah ke proses yang menjalankan langkah saat ini. Perintah pertama dikirim dengan batas waktu 7,5 detik. Jika proses belum dihentikan, perintah kedua dikirim dengan batas waktu 2,5 detik. Jika proses belum dihentikan, agen mengeluarkan perintah untuk menghentikan proses. Jika prosesnya tidak mematuhi dua permintaan penghentian awal, itu akan dimatikan. Dari permintaan awal hingga penghentian membutuhkan waktu sekitar 10 detik.

Perintah yang dikeluarkan untuk proses berbeda berdasarkan sistem operasi agen.

  • macOS dan Linux - Perintah yang dikirim adalah SIGINT, diikuti oleh SIGTERM, diikuti oleh SIGKILL.
  • Windows - Perintah yang dikirim ke proses adalah Ctrl+C, diikuti oleh Ctrl+Break, diikuti oleh Process.Kill.

Bagaimana cara memicu pembaruan agen secara terprogram untuk kumpulan agen tertentu?

Anda dapat memicu pembaruan agen untuk kumpulan dengan menggunakan API berikutnya:

POST https://dev.azure.com/{organization}/_apis/distributedtask/pools/{poolId}/messages?agentId={agentId}&api-version=6.0

Parameter URI

Nama Dalam Diperlukan Jenis Deskripsi
agentId kueri Salah string Agen yang akan diperbarui. Jika tidak ditentukan - pembaruan akan dipicu untuk semua agen.
organization jalur True string Nama organisasi Azure DevOps.
poolId jalur True bilangan bulat int32 Kumpulan agen yang akan digunakan
api-version kueri Salah string Versi API yang akan digunakan. Ini harus diatur ke '6.0' untuk menggunakan versi api ini.

Untuk memicu pembaruan agen - isi permintaan harus kosong.

Catatan

Azure Pipelines Agent sumber terbuka pada GitHub.

Pelajari lebih lanjut

Untuk informasi selengkapnya tentang agen, lihat modul berikut dari jalur pembelajaran Build aplikasi dengan Azure DevOps.