Agen Linux yang dihost sendiri
Layanan Azure DevOps | Azure DevOps Server 2022 - 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.
Perhatian
Artikel ini mereferensikan CentOS, distribusi Linux yang mendekati status End Of Life (EOL). Harap pertimbangkan penggunaan dan perencanaan Anda yang sesuai. Untuk informasi selengkapnya, lihat panduan Akhir Masa Pakai CentOS.
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.
Catatan
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.
Memeriksa 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
- CentOS 7, 8
- 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.
Catatan
Alat penginstal agen tahu cara memeriksa dependensi lain.
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 untuk pertama kalinya. Setelah Anda merasakan cara kerja agen, atau jika Anda ingin mengotomatiskan pengaturan banyak agen, pertimbangkan untuk menggunakan konfigurasi yang tidak dijaga.
Menyiapkan izin
Keamanan informasi untuk agen yang dihost sendiri
Pengguna yang mengonfigurasi agen memerlukan izin admin kumpulan, tetapi pengguna yang menjalankan agen tidak.
Folder yang dikontrol oleh agen harus dibatasi untuk pengguna seserang mungkin karena berisi rahasia yang dapat didekripsi atau dieksfiltrasi.
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 menjalankan agen berbeda dari identitas dengan 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 Kumpulan agen.
Masuk ke koleksi proyek Anda (
http://your-server/DefaultCollection
).Pilih Azure DevOps, Pengaturan koleksi.
Pilih Kumpulan agen.
Pilih Azure DevOps, Pengaturan koleksi.
Pilih Kumpulan 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.
Catatan
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
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 Kumpulan agen:
Masuk ke organisasi Anda (
https://dev.azure.com/{yourorganization}
).Pilih Azure DevOps, Pengaturan organisasi.
Pilih Kumpulan agen.
Masuk ke koleksi proyek Anda (
http://your-server/DefaultCollection
).Pilih Azure DevOps, Pengaturan koleksi.
Pilih Kumpulan agen.
Pilih Azure DevOps, Pengaturan koleksi.
Pilih Kumpulan 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.
Buka kemasan agen ke direktori pilihan Anda.
cd
ke direktori tersebut dan jalankan./config.sh
.
URL 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
- Koneksi alternatif 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 instalan layanan.
Jalankan agen.
./run.sh
Untuk memulai ulang agen, tekan Ctrl+C lalu jalankan run.sh
untuk memulai ulang.
Untuk menggunakan agen Anda, jalankan pekerjaan menggunakan kumpulan agen. Jika Anda tidak memilih kumpulan yang berbeda, agen Anda ditempatkan di kumpulan Default .
Jalankan sekali
Agar agen yang dikonfigurasi berjalan secara interaktif, Anda dapat memilih agar agen hanya menerima satu pekerjaan. Untuk menjalankan konfigurasi ini:
./run.sh --once
Agen dalam mode ini hanya menerima satu pekerjaan dan kemudian berputar dengan anggun (berguna untuk berjalan 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 bagi Anda untuk 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
root
pengguna. - Pengguna yang menjalankan SELinux telah melaporkan kesulitan dengan skrip yang disediakan
svc.sh
. Lihat masalah agen ini sebagai titik awal. SELinux bukan konfigurasi yang didukung secara resmi.
Catatan
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 myagent
subfolder direktori rumah Anda:
cd ~/myagent$
Instal
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 memulai 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
Keadaan
sudo ./svc.sh status
Stop
sudo ./svc.sh stop
Menghapus instalan
Anda harus berhenti sebelum menghapus instalan.
sudo ./svc.sh uninstall
Memperbarui variabel lingkungan
Saat Anda mengonfigurasi layanan, dibutuhkan rekam jepret dari beberapa variabel lingkungan yang berguna untuk pengguna masuk Anda saat ini 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 diberlakukan.
file layanan systemd
File systemd
layanan dibuat:
/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:
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 .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 ./svc.sh
skrip sebagai cara mudah 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 Anda menghapus agen (lihat di bawah) yang Anda ganti. 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 pengawas
Agen dapat disiapkan dari skrip tanpa intervensi manusia.
Anda harus lulus --unattended
dan jawaban untuk semua pertanyaan.
Untuk mengonfigurasi agen, agen harus mengetahui URL ke organisasi atau koleksi dan kredensial 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
- penyiapan agen tidak akan meminta informasi, dan semua pengaturan harus disediakan pada baris perintah--url <url>
- URL 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 untuk bergabung dengan agen--agent <agent>
- nama agen--replace
- ganti agen dalam kumpulan. Jika agen lain mendengarkan dengan nama yang sama, agen akan mulai gagal dengan konflik
Penyiapan agen
--work <workDirectory>
- direktori kerja tempat data pekerjaan disimpan. Default ke_work
di bawah akar direktori agen. Direktori kerja dimiliki oleh agen tertentu dan tidak boleh dibagikan antara beberapa agen.--acceptTeeEula
- terima Perjanjian Lisensi Pengguna Akhir Di Mana Pun Penjelajah Tim (hanya 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 dengan--deploymentGroup
untuk menentukan grup penyebaran agar agen bergabung--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"
Hanya lingkungan
--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 dihost sendiri, Anda dapat mencoba menjalankan 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 dihost sendiri
Atur nilai Agent.Diagnostic
ke true
untuk mengumpulkan log tambahan yang dapat digunakan untuk memecahkan masalah jaringan untuk agen yang dihost sendiri. Untuk mengetahui informasi selengkapnya, lihat Diagnostik jaringan untuk agen yang dihost 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 diiklankan di kumpulan sehingga hanya build dan rilis yang dapat ditangani untuk itu. 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 diatur saat agen berjalan. Jika salah satu nilai ini berubah saat agen berjalan, agen harus dimulai ulang untuk mengambil nilai baru. Setelah menginstal perangkat lunak baru pada agen, Anda harus memulai ulang agen agar kemampuan baru muncul di kumpulan, sehingga build dapat berjalan.
Jika Anda ingin mengecualikan variabel lingkungan sebagai kemampuan, Anda dapat menunjuknya dengan mengatur variabel VSO_AGENT_IGNORE
lingkungan 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 cara memastikan saya memiliki versi agen terbaru?
Navigasi ke tab Kumpulan agen:
Masuk ke organisasi Anda (
https://dev.azure.com/{yourorganization}
).Pilih Azure DevOps, Pengaturan organisasi.
Pilih Kumpulan agen.
Masuk ke koleksi proyek Anda (
http://your-server/DefaultCollection
).Pilih Azure DevOps, Pengaturan koleksi.
Pilih Kumpulan agen.
Pilih Azure DevOps, Pengaturan koleksi.
Pilih Kumpulan agen.
Klik kumpulan 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 .
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.
Dari tab Kumpulan agen, pilih kumpulan yang diinginkan.
Pilih Agen dan pilih agen yang diinginkan.
Pilih tab Kapabilitas .
Dari tab Kumpulan agen, pilih kumpulan yang diinginkan.
Pilih Agen dan pilih agen yang diinginkan.
Pilih tab Kapabilitas .
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.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 GitHub Agen Azure Pipelines.
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 Agen 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
systemctl
menggunakan , 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 berkomunikasi dengan 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 menggunakan {organization_name}.visualstudio.com domain |
https://{organization_name}.visualstudio.com |
Untuk organisasi yang menggunakan {organization_name}.visualstudio.com domain |
https://{organization_name}.vsblob.visualstudio.com |
Telemetri Azure DevOps untuk organisasi menggunakan {organization_name}.visualstudio.com domain |
https://{organization_name}.vsrm.visualstudio.com |
Release Management Services untuk organisasi yang menggunakan {organization_name}.visualstudio.com domain |
https://{organization_name}.vssps.visualstudio.com |
Azure DevOps Platform Services untuk organisasi menggunakan {organization_name}.visualstudio.com domain |
https://{organization_name}.vstmr.visualstudio.com |
Layanan Manajemen Pengujian Azure DevOps untuk organisasi menggunakan {organization_name}.visualstudio.com domain |
https://*.blob.core.windows.net |
Azure Artifacts |
https://*.dev.azure.com |
Untuk organisasi yang menggunakan dev.azure.com domain |
https://*.vsassets.io |
Azure Artifacts melalui CDN |
https://*.vsblob.visualstudio.com |
Telemetri Azure DevOps untuk organisasi menggunakan dev.azure.com domain |
https://*.vssps.visualstudio.com |
Azure DevOps Platform Services untuk organisasi menggunakan dev.azure.com domain |
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 {organization_name}.visualstudio.com domain |
https://dev.azure.com |
Untuk organisasi yang menggunakan dev.azure.com domain |
https://login.microsoftonline.com |
Masuk Microsoft Entra |
https://management.core.windows.net |
API Manajemen Azure |
https://vstsagentpackage.azureedge.net |
Paket agen |
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 13.107.6.183
alamat IP dan 13.107.9.183
, biarkan alamat TERSEBUT di tempat, karena Anda tidak perlu menghapusnya.
Rentang IPv4
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
Rentang IPv6
2620:1ec:4::/48
2620:1ec:a92::/48
2620:1ec:21::/48
2620:1ec:22::/48
Catatan
Untuk informasi selengkapnya tentang alamat yang diizinkan, lihat Daftar alamat yang diizinkan dan koneksi jaringan.
Bagaimana cara menjalankan agen dengan sertifikat yang ditandatangani sendiri?
Jalankan agen dengan sertifikat yang ditandatangani sendiri
Bagaimana cara menjalankan agen di belakang proksi web?
Menjalankan agen di belakang 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 *.visualstudio.com
domain:
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 dev.azure.com
domain:
https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://vstsagentpackage.azureedge.net
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 13.107.6.183
alamat IP dan 13.107.9.183
, biarkan alamat TERSEBUT di tempat, karena Anda tidak perlu menghapusnya.
Rentang IPv4
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
Rentang IPv6
2620:1ec:4::/48
2620:1ec:a92::/48
2620:1ec:21::/48
2620:1ec:22::/48
Catatan
Prosedur ini memungkinkan agen melewati proksi web. Alur build dan skrip Anda masih harus menangani melewati proksi web Anda untuk setiap tugas dan alat yang Anda jalankan di build Anda.
Misalnya, jika Anda menggunakan tugas NuGet, Anda harus mengonfigurasi proksi web untuk mendukung 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 bukan?
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 memeriksa repositori TFVC. Plugin TEE akan dihapus setelah eksekusi pekerjaan.
Catatan
Catatan: Anda mungkin melihat tugas checkout Anda membutuhkan waktu lama untuk mulai bekerja 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
TEE-CLC-14.135.0
folder ke<agent_directory>/externals/tee
.