Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Layanan Azure DevOps | Azure DevOps Server 2022 dan Azure DevOps Server 2019
Artikel ini menyediakan panduan untuk menggunakan perangkat lunak agen 3.x dengan Azure DevOps Services dan versi Azure DevOps Server saat ini. Untuk daftar versi Azure DevOps Server yang mendukung agen 3.x, lihat Apakah Azure DevOps Server mendukung agen 3.x.
Untuk menjalankan pekerjaan Anda, Anda memerlukan setidaknya satu agen. Agen Linux dapat membangun dan menyebarkan berbagai jenis aplikasi, termasuk aplikasi Java dan Android. Lihat Memeriksa prasyarat untuk daftar distribusi Linux yang didukung.
Nota
Artikel ini menjelaskan cara mengonfigurasi agen yang dihost sendiri. Jika Anda menggunakan Azure DevOps Services dan agen yang dihosting Microsoft memenuhi kebutuhan Anda, Anda dapat melewati pengaturan agen Linux yang dihost sendiri.
Pelajari tentang agen
Jika Anda sudah tahu apa itu agen dan cara kerjanya, jangan ragu untuk melompat langsung ke bagian berikut. Tetapi jika Anda ingin beberapa latar belakang lainnya tentang apa yang mereka lakukan dan cara kerjanya, lihat Agen Azure Pipelines.
Periksa prasyarat
Agen didasarkan pada .NET 6. Anda dapat menjalankan agen ini pada beberapa distribusi Linux. Kami mendukung subset distribusi yang didukung .NET 6 berikut:
- Distribusi yang didukung
- x64
- Debian 10+
- Fedora 36+
- openSUSE 15+
- Red Hat Enterprise Linux 7+
- Tidak lagi memerlukan paket terpisah
- SUSE Enterprise Linux 12 SP2 atau yang lebih baru
- Ubuntu 22.04, 20.04, 18.04, 16.04
- Azure Linux 2.0
- Oracle Linux 7 dan yang lebih tinggi
- ARM64
- Debian 10+
- Ubuntu 22.04, 20.04, 18.04
- Alpine x64
- Alpine Linux 3.13 dan yang lebih tinggi (memerlukan agen 3.227 atau lebih tinggi)
- x64
- Git - Terlepas dari platform Anda, Anda perlu menginstal Git 2.9.0 atau yang lebih tinggi. Kami sangat menyarankan untuk menginstal Git versi terbaru.
- .NET - Perangkat lunak agen berjalan pada .NET 6, tetapi menginstal versi .NET sendiri sehingga tidak ada prasyarat .NET.
- Subversion - Jika Anda membangun dari repositori Subversion, Anda harus menginstal klien Subversion pada komputer.
- TFVC - Jika Anda membangun dari repositori TFVC, lihat prasyarat TFVC .
Nota
Penginstal agen memahami cara memeriksa dependensi lainnya.
Anda dapat menginstal dependensi tersebut pada platform Linux yang didukung dengan menjalankan ./bin/installdependencies.sh
di direktori agen.
Ketahuilah bahwa beberapa dependensi yang diperlukan oleh .NET diambil dari situs pihak ketiga, seperti packages.efficios.com
.
installdependencies.sh
Tinjau skrip dan pastikan situs pihak ketiga yang direferensikan dapat diakses dari komputer Linux Anda sebelum menjalankan skrip.
Pastikan juga bahwa semua repositori yang diperlukan terhubung ke manajer paket yang relevan yang digunakan dalam installdependencies.sh
(seperti apt
atau zypper
).
Untuk masalah dengan penginstalan dependensi (seperti 'dependensi tidak ditemukan di repositori' atau 'masalah mengambil file indeks repositori') - Anda dapat menjangkau pemilik distribusi untuk dukungan lebih lanjut.
Anda harus menjalankan penyiapan agen secara manual pada kali pertama. Setelah Anda memahami cara kerja agen, atau jika Anda ingin mengotomatiskan pengaturan banyak agen, pertimbangkan untuk menggunakan konfigurasi tanpa pengawasan.
Menyiapkan izin
Keamanan informasi untuk agen yang dikelola sendiri
Pengguna yang mengonfigurasi agen memerlukan izin admin kumpulan, tetapi pengguna yang menjalankan agen tidak.
Folder yang dikelola oleh agen harus dibatasi hanya untuk sesedikit mungkin pengguna karena berisi rahasia yang dapat didekripsi atau dicuri.
Agen Azure Pipelines adalah produk perangkat lunak yang dirancang untuk menjalankan kode yang diunduhnya dari sumber eksternal. Secara inheren bisa menjadi target untuk serangan Eksekusi Kode Jarak Jauh (RCE).
Oleh karena itu, penting untuk mempertimbangkan model ancaman yang mengelilingi setiap penggunaan individu Agen Alur untuk melakukan pekerjaan, dan memutuskan apa saja izin minimum yang dapat diberikan kepada pengguna yang menjalankan agen, ke mesin tempat agen berjalan, kepada pengguna yang memiliki akses tulis ke definisi Alur, repositori git tempat yaml disimpan, atau grup pengguna yang mengontrol akses ke kumpulan untuk alur baru.
Ini adalah praktik terbaik agar identitas yang digunakan untuk menjalankan agen berbeda dengan identitas yang memiliki izin untuk menghubungkan agen ke kumpulan. Pengguna yang menghasilkan kredensial (dan file terkait agen lainnya) berbeda dari pengguna yang perlu membacanya. Oleh karena itu, lebih aman untuk dengan hati-hati mempertimbangkan akses yang diberikan ke komputer agen itu sendiri, dan folder agen yang berisi file sensitif, seperti log dan artefak.
Masuk akal untuk memberikan akses ke folder agen hanya untuk administrator DevOps dan identitas pengguna yang menjalankan proses agen. Administrator mungkin perlu menyelidiki sistem file untuk memahami kegagalan build atau mendapatkan file log untuk dapat melaporkan kegagalan Azure DevOps.
Memutuskan pengguna mana yang akan Anda gunakan
Sebagai langkah satu kali, Anda harus mendaftarkan agen. Seseorang yang memiliki izin untuk mengelola antrean agen harus menyelesaikan langkah-langkah ini. Agen tidak akan menggunakan kredensial orang ini dalam operasi sehari-hari, tetapi mereka diharuskan untuk menyelesaikan pendaftaran. Pelajari selengkapnya tentang cara agen berkomunikasi.
Mengonfirmasi bahwa pengguna memiliki izin
Pastikan akun pengguna yang akan Anda gunakan memiliki izin untuk mendaftarkan agen.
Apakah pengguna adalah pemilik organisasi Azure DevOps atau administrator TFS atau Azure DevOps Server? Berhenti di sini, Anda memiliki izin.
Sebaliknya:
Buka browser dan navigasi ke tab Kumpulan agen untuk organisasi Azure Pipelines atau Server Azure DevOps atau server TFS:
Masuk ke organisasi Anda (
https://dev.azure.com/{yourorganization}
).Pilih Azure DevOps, Pengaturan organisasi.
Pilih Grup Agen.
Masuk ke koleksi proyek Anda (
http://your-server/DefaultCollection
).Pilih Azure DevOps, Pengaturan Koleksi.
Pilih Grup Agen.
Pilih kumpulan di sisi kanan halaman lalu klik Keamanan.
Jika akun pengguna yang akan Anda gunakan tidak ditampilkan, dapatkan administrator untuk menambahkannya. Administrator dapat menjadi administrator kumpulan agen, pemilik organisasi Azure DevOps, atau administrator TFS atau Azure DevOps Server.
Jika ini adalah agen grup penyebaran, administrator dapat menjadi administrator grup penyebaran, pemilik organisasi Azure DevOps, atau administrator TFS atau Azure DevOps Server.
Anda dapat menambahkan pengguna ke peran administrator grup penyebaran di tab Keamanan pada halaman Grup Penyebaran di Azure Pipelines.
Nota
Jika Anda melihat pesan seperti ini: Maaf, kami tidak dapat menambahkan identitas. Silakan coba identitas yang berbeda., Anda mungkin mengikuti langkah-langkah di atas untuk pemilik organisasi atau TFS atau administrator Azure DevOps Server. Anda tidak perlu melakukan apa pun; Anda sudah memiliki izin untuk mengelola kumpulan agen.
Mengunduh dan mengonfigurasi agen
Azure Pipelines (Alat otomatisasi alur kerja pengembangan perangkat lunak dari Microsoft)
Masuk ke komputer menggunakan akun yang telah Anda siapkan izinnya seperti yang dijelaskan di bagian sebelumnya.
Di browser web Anda, masuk ke Azure Pipelines, dan navigasikan ke tab Agent pools:
Masuk ke organisasi Anda (
https://dev.azure.com/{yourorganization}
).Pilih Azure DevOps, Pengaturan organisasi.
Pilih Grup Agen.
Masuk ke koleksi proyek Anda (
http://your-server/DefaultCollection
).Pilih Azure DevOps, Pengaturan Koleksi.
Pilih Grup Agen.
Pilih kumpulan Default , pilih tab Agen , dan pilih Agen baru.
Pada kotak dialog Dapatkan agen, klik Linux.
Di panel kiri, pilih ragam tertentu. Kami menawarkan x64 atau ARM untuk banyak distribusi Linux.
Di panel kanan, klik tombol Unduh .
Ikuti instruksi di halaman.
Ekstrak agen ke direktori yang Anda pilih.
cd
ke direktori tersebut dan jalankan./config.sh
.
Alamat Server
Azure Pipelines: https://dev.azure.com/{your-organization}
Jenis autentikasi
Saat Anda mendaftarkan agen, pilih dari jenis autentikasi berikut, dan penyiapan agen meminta informasi tambahan tertentu yang diperlukan untuk setiap jenis autentikasi. Untuk informasi selengkapnya, lihat Opsi autentikasi agen yang dihost sendiri.
- Token akses pribadi
- Alternatif Sambungkan ke Azure DevOps Server atau TFS menggunakan autentikasi Dasar. Saat Anda memilih Alternatif , Anda akan dimintai kredensial Anda.
Jalankan secara interaktif
Untuk panduan tentang apakah akan menjalankan agen dalam mode interaktif atau sebagai layanan, lihat Agen: Interaktif vs. layanan.
Untuk menjalankan agen secara interaktif:
Jika Anda telah menjalankan agen sebagai layanan, hapus instalasi layanan.
Jalankan agen.
./run.sh
Untuk memulai ulang agen, tekan Ctrl+C lalu jalankan run.sh
untuk memulai ulang.
Untuk menggunakan agen Anda, jalankan tugas menggunakan kumpulan agen. Jika Anda tidak memilih kumpulan yang berbeda, agen Anda ditempatkan di kumpulan Default .
Jalankan sekali
Untuk agen yang dikonfigurasi agar berjalan secara interaktif, Anda dapat memilih agar agen hanya menerima satu tugas. Untuk menjalankan konfigurasi ini:
./run.sh --once
Agen dalam mode ini hanya menerima satu tugas dan kemudian menghentikan proses secara halus (berguna untuk dijalankan di Docker pada layanan seperti Azure Container Instances).
Jalankan sebagai layanan systemd
Jika agen Anda berjalan pada sistem operasi ini, Anda dapat menjalankan agen sebagai systemd
layanan:
- Ubuntu 16 LTS atau yang lebih baru
- Red Hat 7.1 atau yang lebih baru
Kami menyediakan contoh ./svc.sh
skrip agar Anda dapat menjalankan dan mengelola agen Anda sebagai systemd
layanan.
Skrip ini akan dibuat setelah Anda mengonfigurasi agen.
Kami mendorong Anda untuk meninjau, dan jika diperlukan, perbarui skrip sebelum menjalankannya.
Beberapa peringatan penting:
- Jika Anda menjalankan agen sebagai layanan, Anda tidak dapat menjalankan layanan agen sebagai pengguna
root
. - Pengguna yang menjalankan SELinux telah melaporkan kesulitan dengan skrip yang disediakan
svc.sh
. Rujuk masalah pada agen ini sebagai titik awal. SELinux bukan konfigurasi yang didukung secara resmi.
Nota
Jika Anda memiliki distribusi yang berbeda, atau jika Anda lebih suka pendekatan lain, Anda dapat menggunakan mekanisme layanan apa pun yang Anda inginkan. Lihat file layanan.
Perintah
Ubah ke direktori agen
Misalnya, jika Anda menginstal di subdirektori myagent
dari direktori utama Anda:
cd ~/myagent$
Instalasi
Perintah:
sudo ./svc.sh install [username]
Perintah ini membuat file layanan yang menunjuk ke ./runsvc.sh
. Skrip ini menyiapkan lingkungan (detail selengkapnya di bawah) dan menjalankan host agen. Jika username
parameter tidak ditentukan, nama pengguna diambil dari variabel lingkungan $SUDO_USER yang ditetapkan oleh perintah sudo. Variabel ini selalu sama dengan nama pengguna yang memanggil sudo
perintah.
Mulai
sudo ./svc.sh start
Kedudukan
sudo ./svc.sh status
Berhenti
sudo ./svc.sh stop
Uninstal
Sebaiknya Anda berhenti sebelum meng-uninstall.
sudo ./svc.sh uninstall
Memperbarui variabel lingkungan
Saat Anda mengonfigurasi layanan, sistem mengambil snapshot dari beberapa variabel lingkungan yang berguna untuk pengguna yang sedang masuk, seperti PATH, LANG, JAVA_HOME, ANT_HOME, dan MYSQL_PATH. Jika Anda perlu memperbarui variabel (misalnya, setelah menginstal beberapa perangkat lunak baru):
./env.sh
sudo ./svc.sh stop
sudo ./svc.sh start
Rekam jepret variabel lingkungan disimpan dalam .env
file (PATH
disimpan dalam ) di .path
bawah direktori akar agen, Anda juga dapat mengubah file-file ini secara langsung untuk menerapkan perubahan variabel lingkungan.
Jalankan instruksi sebelum layanan dimulai
Anda juga dapat menjalankan instruksi dan perintah Anda sendiri untuk dijalankan saat layanan dimulai. Misalnya, Anda dapat menyiapkan lingkungan atau memanggil skrip.
Edit
runsvc.sh
.Ganti baris berikut dengan instruksi Anda:
# insert anything to setup env when running as a service
File layanan
Saat Anda menginstal layanan, beberapa file layanan ditempatkan.
berkas layanan systemd
Dibuat sebuah file systemd
layanan:
/etc/systemd/system/vsts.agent.{tfs-name}.{agent-name}.service
Misalnya, Anda telah mengonfigurasi agen (lihat di atas) dengan nama our-linux-agent
. File layanan akan berupa salah satu dari:
Azure Pipelines: nama organisasi Anda. Misalnya jika Anda tersambung ke
https://dev.azure.com/fabrikam
, maka nama layanan akan menjadi/etc/systemd/system/vsts.agent.fabrikam.our-linux-agent.service
TFS atau Azure DevOps Server: nama server lokal Anda. Misalnya jika Anda tersambung ke
http://our-server:8080/tfs
, maka nama layanan akan menjadi/etc/systemd/system/vsts.agent.our-server.our-linux-agent.service
sudo ./svc.sh install
menghasilkan file ini dari templat ini: ./bin/vsts.agent.service.template
File jenis .service
sudo ./svc.sh start
menemukan layanan dengan membaca .service
file, yang berisi nama file layanan systemd yang dijelaskan di atas.
Mekanisme layanan alternatif
Kami menyediakan skrip ./svc.sh
sebagai cara praktis bagi Anda untuk menjalankan dan mengelola agen Anda sebagai layanan systemd. Tetapi Anda dapat menggunakan mekanisme layanan apa pun yang Anda sukai (misalnya: initd atau upstart).
Anda dapat menggunakan templat yang dijelaskan di atas untuk memfasilitasi pembuatan jenis file layanan lainnya.
Menggunakan cgroup untuk menghindari kegagalan agen
Penting untuk menghindari situasi di mana agen gagal atau menjadi tidak dapat digunakan karena jika tidak, agen tidak dapat mengalirkan log alur atau melaporkan status alur kembali ke server. Anda dapat mengurangi risiko masalah semacam ini yang disebabkan oleh tekanan memori tinggi dengan menggunakan cgroups
dan yang lebih rendah oom_score_adj
. Setelah Anda melakukan ini, Linux mengklaim kembali memori sistem dari proses pekerjaan alur sebelum mengklaim kembali memori dari proses agen.
Pelajari cara mengonfigurasi cgroups
dan skor OOM.
Mengganti agen
Untuk mengganti agen, ikuti langkah-langkah Unduh dan konfigurasikan agen lagi.
Saat Mengonfigurasi agen menggunakan nama yang sama dengan agen yang sudah ada, Anda akan ditanya apakah Anda ingin mengganti agen yang ada. Jika Anda menjawab Y
, pastikan untuk menghapus agen yang Anda ganti (lihat di bawah). Jika tidak, setelah beberapa menit konflik, salah satu agen akan dimatikan.
Menghapus dan mengonfigurasi ulang agen
Untuk menghapus agen:
Hentikan dan hapus instalan layanan seperti yang dijelaskan di bagian sebelumnya.
Hapus agen.
./config.sh remove
Masukkan kredensial Anda.
Setelah menghapus agen, Anda dapat mengonfigurasinya lagi.
Konfigurasi tanpa pengawasan
Agen dapat disiapkan dari skrip tanpa intervensi manusia.
Anda harus melewati --unattended
dan jawaban atas semua pertanyaan.
Untuk mengonfigurasi agen, ia harus mengetahui URL organisasi atau koleksi Anda, serta kredensial dari seseorang yang berwenang untuk menyiapkan agen.
Semua respons lainnya bersifat opsional.
Parameter baris perintah apa pun dapat ditentukan menggunakan variabel lingkungan sebagai gantinya: letakkan namanya dalam huruf besar dan prepend VSTS_AGENT_INPUT_
.
Misalnya, VSTS_AGENT_INPUT_PASSWORD
alih-alih menentukan --password
.
Opsi yang diperlukan
-
--unattended
- pengaturan agen tidak akan meminta informasi, dan semua pengaturan harus disediakan melalui baris perintah -
--url <url>
- URL dari server. Misalnya: https://dev.azure.com/myorganization atau http://my-azure-devops-server:8080/tfs -
--auth <type>
- jenis autentikasi. Nilai yang valid adalah:-
pat
(Token akses pribadi) - PAT adalah satu-satunya skema yang berfungsi dengan Azure DevOps Services. -
alt
(Autentikasi dasar)
-
Opsi autentikasi
- Jika Anda memilih
--auth pat
:-
--token <token>
- menentukan token akses pribadi Anda - PAT adalah satu-satunya skema yang berfungsi dengan Azure DevOps Services.
-
- Jika Anda memilih
--auth negotiate
atau--auth alt
:-
--userName <userName>
- menentukan nama pengguna -
--password <password>
- menentukan kata sandi
-
Nama kumpulan dan agen
-
--pool <pool>
- nama kumpulan bagi agen untuk bergabung -
--agent <agent>
- nama agen -
--replace
- ganti agen dalam kolam. Jika ada agen lain yang mendengarkan dengan nama yang sama, itu akan mulai gagal karena konflik.
Konfigurasi agen
-
--work <workDirectory>
- direktori kerja tempat data pekerjaan disimpan. Diatur secara default ke_work
di bawah root direktori agen. Direktori kerja dimiliki oleh agen tertentu dan tidak boleh dibagikan antara beberapa agen. -
--acceptTeeEula
- menyetujui Perjanjian Lisensi Pengguna Akhir Team Explorer Everywhere (hanya untuk macOS dan Linux) -
--disableloguploads
- jangan melakukan streaming atau mengirim output log konsol ke server. Sebagai gantinya, Anda dapat mengambilnya dari sistem file host agen setelah pekerjaan selesai.
Grup penyebaran saja
-
--deploymentGroup
- mengonfigurasi agen sebagai agen grup penyebaran -
--deploymentGroupName <name>
- digunakan bersama dengan--deploymentGroup
untuk menentukan grup penyebaran yang akan diikuti agen tertentu. -
--projectName <name>
- digunakan dengan--deploymentGroup
untuk mengatur nama proyek -
--addDeploymentGroupTags
- digunakan dengan--deploymentGroup
untuk menunjukkan bahwa tag grup penyebaran harus ditambahkan -
--deploymentGroupTags <tags>
- digunakan dengan--addDeploymentGroupTags
untuk menentukan daftar tag yang dipisahkan koma untuk agen grup penyebaran - misalnya "web, db"
Lingkungan saja
-
--addvirtualmachineresourcetags
- digunakan untuk menunjukkan bahwa tag sumber daya lingkungan harus ditambahkan -
--virtualmachineresourcetags <tags>
- digunakan dengan--addvirtualmachineresourcetags
untuk menentukan daftar tag yang dipisahkan koma untuk agen sumber daya lingkungan - misalnya "web, db"
./config.sh --help
selalu mencantumkan respons terbaru yang diperlukan dan opsional.
Diagnostik
Jika Anda mengalami masalah dengan agen yang di-host sendiri, Anda dapat mencoba melakukan diagnostik. Setelah mengonfigurasi agen:
./run.sh --diagnostics
Ini akan berjalan melalui rangkaian diagnostik yang dapat membantu Anda memecahkan masalah. Fitur diagnostik tersedia mulai agen versi 2.165.0.
Diagnostik jaringan untuk agen yang dihosting sendiri
Atur nilai Agent.Diagnostic
ke true
untuk mengumpulkan log tambahan yang dapat digunakan untuk memecahkan masalah jaringan untuk agen yang dihost sendiri. Untuk informasi selengkapnya, lihat Diagnostik Jaringan untuk Agen yang Di-host Sendiri.
Bantuan tentang opsi lain
Untuk mempelajari tentang opsi lain:
./config.sh --help
Bantuan ini menyediakan informasi tentang alternatif autentikasi dan konfigurasi tanpa pengawas.
Kemampuan
Kemampuan agen Anda dikatalogkan dan ditampilkan dalam kumpulan sehingga hanya build dan rilis yang dapat ditanganinya yang akan ditugaskan kepadanya. Lihat Kemampuan membangun dan merilis agen.
Dalam banyak kasus, setelah menyebarkan agen, Anda harus menginstal perangkat lunak atau utilitas. Umumnya Anda harus menginstal pada agen Anda perangkat lunak dan alat apa pun yang Anda gunakan di mesin pengembangan Anda.
Misalnya, jika build Anda menyertakan tugas npm , build tidak akan berjalan kecuali ada agen build di kumpulan yang telah menginstal npm.
Penting
Kemampuan mencakup semua variabel lingkungan dan nilai yang ditetapkan ketika agen berjalan. Jika salah satu nilai ini berubah saat agen berjalan, agen harus dijalankan ulang untuk mengambil nilai baru. Setelah Anda menginstal perangkat lunak baru pada agen, Anda harus memulai ulang agen agar fitur baru ditampilkan di kumpulan, sehingga proses build dapat berjalan.
Jika Anda ingin mengecualikan variabel lingkungan sebagai kemampuan, Anda dapat menunjuknya dengan mengatur variabel lingkungan VSO_AGENT_IGNORE
dengan daftar variabel yang dibatasi koma untuk diabaikan.
FAQ
Di mana saya dapat mempelajari selengkapnya tentang perangkat lunak agen v3 baru?
Untuk informasi dan FAQ tentang perangkat lunak agen v3, lihat Perangkat lunak agen versi 3.
Bagaimana saya dapat memastikan bahwa saya memiliki versi agen terbaru?
Pergi ke tab Agent pools:
Masuk ke organisasi Anda (
https://dev.azure.com/{yourorganization}
).Pilih Azure DevOps, Pengaturan organisasi.
Pilih Grup Agen.
Masuk ke koleksi proyek Anda (
http://your-server/DefaultCollection
).Pilih Azure DevOps, Pengaturan Koleksi.
Pilih Grup Agen.
Klik pool yang berisi agen.
Pastikan agen diaktifkan.
Navigasi ke tab kemampuan:
Dari tab kumpulan agen, pilih kumpulan agen yang diinginkan.
Pilih Agen dan pilih agen yang diinginkan.
Pilih tab Kapabilitas .
Nota
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.
Dari tab Kumpulan agen, pilih kumpulan yang diinginkan.
Pilih Agen dan pilih agen yang diinginkan.
Pilih tab Kapabilitas .
Cari kemampuan
Agent.Version
. Anda dapat memeriksa nilai ini dengan versi agen terbaru yang sudah dipublikasikan. Lihat Azure Pipelines Agent dan periksa halaman tersebut untuk menemukan nomor versi tertinggi yang terdaftar.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 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 mengambil alih versi default yang disertakan dengan server pada saat rilisnya. Skenario ini juga berlaku ketika server tidak memiliki akses ke internet.
Dari komputer dengan akses Internet, unduh versi terbaru file paket agen (dalam bentuk .zip atau .tar.gz) dari halaman Rilis Azure Pipelines Agent di GitHub.
Transfer file paket yang diunduh ke setiap Tingkat Aplikasi Azure DevOps Server dengan menggunakan metode pilihan Anda (seperti drive USB, Transfer jaringan, dan sebagainya). Tempatkan file agen di bawah folder berikut:
- Windows:
%ProgramData%\Microsoft\Azure DevOps\Agents
- Linux:
usr/share/Microsoft/Azure DevOps/Agents
- macOS:
usr/share/Microsoft/Azure DevOps/Agents
Buat folder Agents jika tidak ada.
- Anda sudah siap! Server Azure DevOps 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.
Mengapa sudo diperlukan untuk menjalankan perintah layanan?
./svc.sh
menggunakan systemctl
, yang memerlukan sudo
.
Kode sumber: systemd.svc.sh.template di GitHub
Saya menjalankan firewall dan kode saya ada di Azure Repos. URL apa saja yang perlu dihubungi oleh agen?
Jika Anda menjalankan agen di jaringan aman di belakang firewall, pastikan agen dapat memulai komunikasi dengan URL dan alamat IP berikut.
Domain URL | Deskripsi |
---|---|
https://{organization_name}.pkgs.visualstudio.com |
Azure DevOps Packaging API untuk organisasi yang menggunakan domain {organization_name}.visualstudio.com |
https://{organization_name}.visualstudio.com |
Untuk organisasi yang menggunakan domain {organization_name}.visualstudio.com |
https://{organization_name}.vsblob.visualstudio.com |
Telemetri Azure DevOps untuk organisasi menggunakan domain {organization_name}.visualstudio.com |
https://{organization_name}.vsrm.visualstudio.com |
Release Management Services untuk organisasi menggunakan domain {organization_name}.visualstudio.com |
https://{organization_name}.vssps.visualstudio.com |
Azure DevOps Platform Services untuk organisasi yang menggunakan domain {organization_name}.visualstudio.com |
https://{organization_name}.vstmr.visualstudio.com |
Layanan Manajemen Pengujian Azure DevOps untuk organisasi menggunakan {organization_name}.visualstudio.com domain |
https://*.blob.core.windows.net |
Artefak Azure |
https://*.dev.azure.com |
Untuk organisasi yang menggunakan domain dev.azure.com |
https://*.vsassets.io |
Azure Artifacts melalui CDN |
https://*.vsblob.visualstudio.com |
Telemetri Azure DevOps untuk organisasi menggunakan domain dev.azure.com |
https://*.vssps.visualstudio.com |
Azure DevOps Platform Services untuk organisasi yang menggunakan domain dev.azure.com |
https://*.vstmr.visualstudio.com |
Layanan Manajemen Pengujian Azure DevOps untuk organisasi menggunakan dev.azure.com domain |
https://app.vssps.visualstudio.com |
Untuk organisasi yang menggunakan domain {organization_name}.visualstudio.com |
https://dev.azure.com |
Untuk organisasi yang menggunakan domain dev.azure.com |
https://login.microsoftonline.com |
Masuk ke Microsoft Entra |
https://management.core.windows.net |
API Manajemen Azure |
https://download.agent.dev.azure.com |
Paket untuk agen |
Penting
Edgio CDN untuk Azure DevOps dihentikan, yang mengharuskan URL domain baru untuk diizinkan tercantum dalam aturan firewall untuk unduhan perangkat lunak agen.
Domain baru yang diizinkan dalam daftar izin untuk mengunduh agen adalah https://*.dev.azure.com
. Jika aturan firewall Anda tidak mengizinkan wildcard, gunakan https://download.agent.dev.azure.com
.
Tim Azure DevOps merekomendasikan untuk membuat perubahan ini pada tanggal berikut:
- 1 Mei 2025 untuk Layanan Azure DevOps
- 15 Mei 2025 untuk Azure DevOps Server
Untuk informasi selengkapnya, lihat Perubahan URL Domain CDN untuk Agen di Pipeline.
Untuk memastikan organisasi Anda bekerja dengan pembatasan firewall atau IP yang ada, pastikan bahwa dev.azure.com
dan *dev.azure.com
terbuka serta perbarui IP yang diizinkan untuk menyertakan alamat IP berikut, berdasarkan versi IP Anda. Jika saat ini Anda mengizinkan daftar alamat IP 13.107.6.183
dan 13.107.9.183
, biarkan tetap ada di sana karena Anda tidak perlu menghapusnya.
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
150.171.22.0/24
150.171.23.0/24
150.171.73.0/24
150.171.74.0/24
150.171.75.0/24
150.171.76.0/24
Nota
Untuk informasi selengkapnya tentang alamat yang diizinkan, lihat Daftar alamat yang diizinkan dan koneksi jaringan.
Bagaimana cara menjalankan agen dengan sertifikat SSL yang ditandatangani sendiri?
Jalankan agen dengan sertifikat swatanda tangan
Bagaimana cara mengoperasikan agen di belakang proksi web?
Menjalankan agen melalui proksi web
Bagaimana cara menghidupkan ulang agen
Jika Anda menjalankan agen secara interaktif, lihat instruksi mulai ulang di Jalankan secara interaktif. Jika Anda menjalankan agen sebagai layanan systemd, ikuti langkah-langkah untuk Menghentikan lalu Memulai agen.
Bagaimana cara mengonfigurasi agen untuk melewati proksi web dan menyambungkan ke Azure Pipelines?
Jika Anda ingin agen melewati proksi Anda dan terhubung ke Azure Pipelines secara langsung, maka Anda harus mengonfigurasi proksi web Anda untuk memungkinkan agen mengakses URL berikut.
Untuk organisasi yang menggunakan domain *.visualstudio.com
:
https://login.microsoftonline.com
https://app.vssps.visualstudio.com
https://{organization_name}.visualstudio.com
https://{organization_name}.vsrm.visualstudio.com
https://{organization_name}.vstmr.visualstudio.com
https://{organization_name}.pkgs.visualstudio.com
https://{organization_name}.vssps.visualstudio.com
Untuk organisasi yang menggunakan domain dev.azure.com
:
https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://download.agent.dev.azure.com
https://vssps.dev.azure.com
Untuk memastikan organisasi Anda bekerja dengan pembatasan firewall atau IP yang ada, pastikan bahwa dev.azure.com
dan *dev.azure.com
terbuka serta perbarui IP yang diizinkan untuk menyertakan alamat IP berikut, berdasarkan versi IP Anda. Jika saat ini Anda mengizinkan daftar alamat IP 13.107.6.183
dan 13.107.9.183
, biarkan tetap ada di sana karena Anda tidak perlu menghapusnya.
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
150.171.22.0/24
150.171.23.0/24
150.171.73.0/24
150.171.74.0/24
150.171.75.0/24
150.171.76.0/24
Nota
Prosedur ini memungkinkan agen melewati proksi web. Alur build dan skrip Anda masih harus menangani pengabaian proksi web Anda untuk setiap tugas dan alat yang Anda jalankan dalam proses pembangunan Anda.
Misalnya, jika Anda menggunakan tugas NuGet, Anda harus mengonfigurasi proksi web agar dapat melewati URL untuk server yang menghosting umpan NuGet yang Anda gunakan.
Saya menggunakan TFS dan URL di bagian di atas tidak berfungsi untuk saya. Di mana saya bisa mendapatkan bantuan?
Saya menggunakan TFS lokal dan saya tidak melihat beberapa fitur ini. Mengapa tidak?
Beberapa fitur ini hanya tersedia di Azure Pipelines dan belum tersedia secara lokal. Beberapa fitur tersedia secara lokal jika Anda telah meningkatkan ke TFS versi terbaru.
Prasyarat TFVC
Jika Anda akan menggunakan TFVC, Anda juga memerlukan Oracle Java JDK 1.6 atau yang lebih tinggi. (Oracle JRE dan OpenJDK tidak cukup untuk tujuan ini.)
Plugin TEE digunakan untuk fungsionalitas TFVC. Ini memiliki EULA, yang perlu Anda terima selama konfigurasi jika Anda berencana untuk bekerja dengan TFVC.
Karena plugin TEE tidak lagi dipertahankan dan berisi beberapa dependensi Java yang kedaluarsa, mulai dari Agen 2.198.0 tidak lagi disertakan dalam distribusi agen. Namun, plugin TEE akan diunduh selama eksekusi tugas checkout jika Anda melakukan checkout pada repositori TFVC. Plugin TEE akan dihapus setelah eksekusi pekerjaan.
Nota
Catatan: Anda mungkin memperhatikan bahwa tugas checkout Anda membutuhkan waktu lama untuk mulai berfungsi karena mekanisme pengunduhan ini.
Jika agen berjalan di belakang proksi atau firewall, Anda perlu memastikan akses ke situs berikut: https://vstsagenttools.blob.core.windows.net/
. Plugin TEE akan diunduh dari alamat ini.
Jika Anda menggunakan agen yang dihost sendiri dan menghadapi masalah dengan pengunduhan TEE, Anda dapat menginstal TEE secara manual:
- Atur
DISABLE_TEE_PLUGIN_REMOVAL
variabel lingkungan atau alur ketrue
. Variabel ini mencegah agen menghapus plugin TEE setelah checkout repositori TFVC. - Unduh TEE-CLC versi 14.135.0 secara manual dari rilis GitHub Team Explorer Everywhere.
- Ekstrak konten folder
TEE-CLC-14.135.0
ke<agent_directory>/externals/tee
.