Agen Windows yang dihost sendiri (2.x)
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Penting
Artikel ini menyediakan panduan untuk menggunakan perangkat lunak agen versi 2.x dengan Azure DevOps Server. Jika Anda menggunakan Azure DevOps Services, lihat Agen Windows yang dihost sendiri.
Untuk membangun dan menyebarkan Windows, Azure, dan solusi Visual Studio lainnya, Anda memerlukan setidaknya satu agen Windows. Agen Windows juga dapat membangun aplikasi Java dan Android.
Sebelum Anda mulai:
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
Pastikan komputer Anda memiliki prasyarat ini:
- Windows 7 SP1 ESU, 8.1, 10, atau 11 (jika menggunakan OS klien)
- Windows 2012 atau lebih tinggi (jika menggunakan OS server)
- PowerShell 3.0 atau yang lebih tinggi
- .NET Framework 4.6.2 atau yang lebih tinggi
Penting
Mulai Desember 2019, versi .NET minimum yang diperlukan untuk agen build adalah 4.6.2 atau lebih tinggi.
Direkomendasikan:
- Alat build Visual Studio (2015 atau lebih tinggi)
Jika Anda membangun dari repositori Subversion, Anda harus menginstal klien Subversion di komputer.
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.
Spesifikasi perangkat keras
Spesifikasi perangkat keras untuk agen Anda bervariasi menurut kebutuhan Anda, ukuran tim, dll. Tidak dimungkinkan untuk membuat rekomendasi umum yang berlaku untuk semua orang. Sebagai titik referensi, tim Azure DevOps membangun kode agen yang dihosting menggunakan alur yang menggunakan agen yang dihosting. Di sisi lain, sebagian besar kode Azure DevOps dibangun oleh mesin kelas server 24-core yang menjalankan 4 agen yang dihost sendiri masing-masing.
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 dan 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 izin minimum apa 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.
Mengautentikasi dengan token akses pribadi (PAT)
- Masuk dengan akun pengguna yang Anda rencanakan untuk digunakan di portal web Azure DevOps Server Anda (
https://{your-server}/DefaultCollection/
).
- Masuk dengan akun pengguna yang Anda rencanakan untuk digunakan dalam organisasi Azure DevOps (
https://dev.azure.com/{your_organization}
).
Dari halaman beranda Anda, buka profil Anda. Buka detail keamanan Anda.
Membuat token akses pribadi.
Catatan
Jika Anda mengonfigurasi agen grup penyebaran, atau jika Anda melihat kesalahan saat mendaftarkan sumber daya lingkungan VM, Anda harus mengatur cakupan PAT ke Semua organisasi yang dapat diakses.
Dari beranda, buka pengaturan pengguna, lalu pilih Token akses pribadi.
Membuat token akses pribadi.
Untuk cakupan pilih Kumpulan Agen (baca, kelola) dan pastikan semua kotak lainnya dikosongkan. Jika ini adalah agen grup penyebaran, untuk cakupan pilih Grup penyebaran (baca, kelola) dan pastikan semua kotak lain dikosongkan.
Pilih Perlihatkan semua cakupan di bagian bawah jendela Buat token akses pribadi baru untuk melihat daftar lengkap cakupan.
Salin token. Anda akan menggunakan token ini saat mengonfigurasi agen.
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 antrean 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 , pilih Windows.
Di panel kiri, pilih arsitektur prosesor versi OS Windows yang diinstal di komputer Anda. Versi x64 ditujukan untuk Windows 64-bit, sedangkan versi x86 ditujukan untuk Windows 32-bit. Jika Anda tidak yakin versi Windows mana yang diinstal, ikuti instruksi berikut untuk mengetahuinya.
Di panel kanan, klik tombol Unduh .
Ikuti instruksi di halaman untuk mengunduh agen.
Buka kemasan agen ke direktori pilihan Anda. Pastikan bahwa jalur ke direktori tidak berisi spasi karena alat dan skrip tidak selalu keluar dari spasi dengan benar. Folder yang disarankan adalah
C:\agents
. Mengekstrak folder unduhan atau folder pengguna lain dapat menyebabkan masalah izin. Kemudian jalankanconfig.cmd
, dan tanggapi serangkaian pertanyaan untuk mengonfigurasi agen.
Azure DevOps Server 2019 dan Azure DevOps Server 2020
Masuk ke komputer menggunakan akun yang telah Anda siapkan izinnya seperti yang dijelaskan di atas.
Di browser web Anda, masuk ke Azure DevOps Server 2019, 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.
Klik Unduh agen.
Pada kotak dialog Dapatkan agen , klik Windows.
Di panel kiri, pilih arsitektur prosesor versi OS Windows yang diinstal di komputer Anda. Versi x64 ditujukan untuk Windows 64-bit, sedangkan versi x86 ditujukan untuk Windows 32-bit. Jika Anda tidak yakin versi Windows mana yang diinstal, ikuti instruksi berikut untuk mengetahuinya.
Di panel kanan, klik tombol Unduh .
Ikuti instruksi di halaman untuk mengunduh agen.
Buka kemasan agen ke direktori pilihan Anda. Pastikan bahwa jalur ke direktori tidak berisi spasi karena alat dan skrip tidak selalu keluar dari spasi dengan benar. Folder yang disarankan adalah
C:\agents
. Mengekstrak folder unduhan atau folder pengguna lain dapat menyebabkan masalah izin. Kemudian jalankanconfig.cmd
. Ini akan mengajukan serangkaian pertanyaan untuk mengonfigurasi agen.
Penting
Kami sangat menyarankan Anda mengonfigurasi agen dari jendela PowerShell yang ditingkatkan. Jika Anda ingin mengonfigurasi sebagai layanan, ini diperlukan.
Anda tidak boleh menggunakan ISE Windows PowerShell untuk mengonfigurasi agen.
Penting
Untuk alasan keamanan, kami sangat menyarankan untuk memastikan folder agen (C:\agents
) hanya dapat diedit oleh admin.
Catatan
Harap hindari menggunakan shell berbasis mintty, seperti git-bash, untuk konfigurasi agen. Mintty tidak sepenuhnya kompatibel dengan API Windows Input/Output asli (berikut adalah beberapa info tentang hal itu) dan kami tidak dapat menjamin pekerjaan skrip penyiapan yang benar dalam hal ini.
URL server dan autentikasi
Saat penyiapan meminta URL server Anda, untuk Layanan Azure DevOps, jawab https://dev.azure.com/{your-organization}
.
Saat penyiapan meminta URL server Anda, untuk TFS, jawab https://{your_server}/tfs
.
Saat penyiapan meminta jenis autentikasi Anda, pilih PAT. Kemudian tempelkan token PAT yang Anda buat ke jendela prompt perintah.
Catatan
Saat menggunakan PAT sebagai metode autentikasi, token PAT hanya digunakan selama konfigurasi awal agen. Nantinya, jika PAT kedaluwarsa atau perlu diperpanjang, tidak ada perubahan lebih lanjut yang diperlukan oleh agen.
Penting
Pastikan server Anda dikonfigurasi untuk mendukung metode autentikasi yang ingin Anda gunakan.
Saat mengonfigurasi agen untuk menyambungkan ke Azure DevOps Server, Anda memiliki opsi berikut:
Koneksi alternatif ke Azure DevOps Server menggunakan autentikasi Dasar. Setelah memilih Alternatif, Anda akan dimintai kredensial Anda.
Negosiasikan Koneksi ke Azure DevOps Server sebagai pengguna selain pengguna yang masuk melalui skema autentikasi Windows seperti NTLM atau Kerberos. Setelah memilih Negosiasi, Anda akan dimintai kredensial.
Terintegrasi (Default) Koneksi agen Windows ke Azure DevOps Server menggunakan kredensial pengguna yang masuk melalui skema autentikasi Windows seperti NTLM atau Kerberos. Anda tidak akan dimintai kredensial setelah memilih metode ini.
PAT Setelah Anda memilih PAT, tempelkan token PAT yang Anda buat ke jendela prompt perintah. Gunakan token akses pribadi (PAT) jika instans Azure DevOps Server Anda dan mesin agen tidak berada di domain tepercaya. Autentikasi PAT ditangani oleh instans Azure DevOps Server Anda, bukan pengontrol domain.
Catatan
Saat menggunakan PAT sebagai metode autentikasi, token PAT hanya digunakan untuk konfigurasi awal agen. Jika PAT perlu diregenerasi, tidak ada perubahan lebih lanjut yang diperlukan pada agen.
Pelajari selengkapnya di Komunikasi dengan Azure Pipelines atau Azure DevOps Server.
Pilih mode interaktif atau layanan
Untuk panduan tentang apakah akan menjalankan agen dalam mode interaktif atau sebagai layanan, lihat Agen: Interaktif vs. layanan.
Jika Anda memilih untuk berjalan sebagai layanan (yang kami sarankan), nama pengguna yang Anda jalankan sebagai harus 20 karakter atau lebih sedikit.
Jalankan agen
Jalankan secara interaktif
Jika Anda mengonfigurasi agen untuk berjalan secara interaktif, untuk menjalankannya:
.\run.cmd
Untuk memulai ulang agen, tekan Ctrl+C untuk menghentikan agen lalu jalankan run.cmd
untuk memulai ulang.
Jalankan sekali
Agar agen yang dikonfigurasi berjalan secara interaktif, Anda dapat memilih agar agen hanya menerima satu pekerjaan. Untuk menjalankan konfigurasi ini:
.\run.cmd --once
Agen dalam mode ini hanya akan menerima satu pekerjaan dan kemudian berputar dengan anggun (berguna untuk berjalan di Docker pada layanan seperti Azure Container Instances).
Jalankan sebagai layanan
Jika Anda mengonfigurasi agen untuk dijalankan sebagai layanan, agen akan dimulai secara otomatis. Anda dapat melihat dan mengontrol status agen yang berjalan dari snap-in layanan. Jalankan services.msc
dan cari salah satu dari:
Azure Pipelines Agent (*name of your agent*)
VSTS Agent (*name of your agent*)
vstsagent.(*organization name*).(*name of your agent*)
Catatan
Untuk memungkinkan lebih banyak fleksibilitas dengan kontrol akses agen yang berjalan sebagai layanan dimungkinkan untuk menyiapkan jenis SID layanan agen sebagai [SERVICE_SID_TYPE_UNRESTRICTED
] melalui bendera atau perintah selama alur konfigurasi interaktif.
Secara default, layanan agen dikonfigurasi dengan SERVICE_SID_TYPE_NONE
.
Untuk detail selengkapnya tentang jenis SID, silakan periksa dokumentasi ini.
Untuk memulai ulang agen, klik kanan entri dan pilih Mulai ulang.
Catatan
Jika Anda perlu mengubah akun masuk agen, jangan lakukan dari snap-in Layanan. Sebagai gantinya, lihat informasi di bawah ini untuk mengonfigurasi ulang agen.
Untuk menggunakan agen Anda, jalankan pekerjaan menggunakan kumpulan agen. Jika Anda tidak memilih kumpulan yang berbeda, agen Anda akan berada di kumpulan Default .
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:
.\config remove
Setelah menghapus agen, Anda dapat mengonfigurasinya lagi.
Konfigurasi tanpa pengawas
Agen dapat disiapkan dari skrip tanpa intervensi manusia.
Anda harus lulus --unattended
dan kemudian menjawab 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.negotiate
(Kerberos atau NTLM)alt
(Autentikasi dasar)integrated
(Kredensial default Windows)
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 Windows dalam formatdomain\userName
atauuserName@domain.com
--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.
Startup khusus Windows
--runAsService
- mengonfigurasi agen untuk berjalan sebagai layanan Windows (memerlukan izin administrator)--runAsAutoLogon
- mengonfigurasi masuk otomatis dan menjalankan agen saat startup (memerlukan izin administrator)--windowsLogonAccount <account>
- digunakan dengan--runAsService
atau--runAsAutoLogon
untuk menentukan nama pengguna Windows dalam formatdomain\userName
atauuserName@domain.com
--windowsLogonPassword <password>
- digunakan dengan--runAsService
atau--runAsAutoLogon
untuk menentukan kata sandi masuk Windows (tidak diperlukan untuk Akun Layanan Terkelola Grup dan akun bawaan Windows seperti 'NT AUTHORITY\NETWORK SERVICE')--enableservicesidtypeunrestricted
- digunakan dengan--runAsService
untuk mengonfigurasi agen dengan jenis SID layanan sebagaiSERVICE_SID_TYPE_UNRESTRICTED
(memerlukan izin administrator)--overwriteAutoLogon
- digunakan dengan--runAsAutoLogon
untuk menimpa masuk otomatis yang ada pada komputer--noRestart
- digunakan dengan--runAsAutoLogon
untuk menghentikan host memulai ulang setelah konfigurasi agen selesai
Pemecahan masalah mengonfigurasi agen dengan runAsAutoLogon
opsi
Mengonfigurasi agen dengan runAsAutoLogon
opsi menjalankan agen setiap kali setelah memulai ulang komputer.
Lakukan langkah berikutnya jika agen tidak dijalankan setelah menghidupkan ulang komputer.
Jika agen sudah dikonfigurasi pada komputer
Sebelum mengonfigurasi ulang agen, perlu untuk menghapus konfigurasi agen lama, jadi cobalah untuk menjalankan perintah ini dari folder agen:
.\config.cmd remove --auth 'PAT' --token '<token>'
Periksa apakah agen dihapus dari kumpulan agen Anda setelah menjalankan perintah:
<Azure DevOps organization> / <Project> / Settings / Agent pools / <Agent Pool> / Agents
Hapus agen dari kumpulan agen Anda secara manual jika tidak dihapus dengan menjalankan perintah .
Kemudian coba konfigurasi ulang agen dengan menjalankan perintah ini dari folder agen:
.\config.cmd --unattended --agent '<agent-name>' --pool '<agent-pool-name>' --url '<azure-dev-ops-organization-url>' --auth 'PAT' --token '<token>' --runAsAutoLogon --windowsLogonAccount '<domain\user-name>' --windowsLogonPassword '<windows-password>'
Tentukan nama agen (nama unik tertentu) dan periksa apakah agen ini muncul di kumpulan agen Anda setelah mengonfigurasi ulang.
Akan jauh lebih baik untuk membuka kemasan arsip agen (yang dapat diunduh di sini) dan menjalankan perintah ini dari folder agen baru yang tidak dikemas.
Periksa apakah kunci registri Windows direkam dan disimpan dengan benar
Jalankan whoami /user
perintah untuk mendapatkan <sid>
. Buka Registry Editor
dan ikuti jalurnya:
Computer\HKEY_USERS\<sid>\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Periksa apakah ada kuncinya VSTSAgent
. Hapus kunci ini jika ada, lalu tutup Registry Editor
dan konfigurasikan agen dengan menjalankan .\config.cmd
perintah (tanpa arg) dari folder agen. Sebelum menjawab pertanyaan Enter Restart the machine at a later time?
, buka Registry Editor
lagi dan periksa apakah VSTSAgent
kunci telah muncul. Tekan Enter
untuk menjawab pertanyaan, dan periksa apakah VSTSAgent
kunci tetap ada di tempatnya setelah menghidupkan ulang komputer.
Periksa apakah kunci registri Windows berfungsi dengan baik pada komputer Anda
Buat autorun.cmd
file yang berisi baris berikut: echo "Hello from AutoRun!"
.
Buka Registry Editor
dan buat di jalur di atas pasangan kunci-nilai baru dengan kunci AutoRun
dan nilai
C:\windows\system32\cmd.exe /D /S /C start "AutoRun" "D:\path\to\autorun.cmd"
Hidupkan ulang mesin Anda. Anda mengalami masalah dengan kunci registri Windows jika Anda tidak melihat jendela konsol dengan pesan.Hello from AutoRun!
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 --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 --diagnostics
Ini akan berjalan melalui rangkaian diagnostik yang dapat membantu Anda memecahkan masalah. Fitur diagnostik tersedia dimulai dengan versi 2.165.0.
Bantuan tentang opsi lain
Untuk mempelajari tentang opsi lain:
.\config --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
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.
Bagaimana cara memastikan saya memiliki versi agen v2 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 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 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
%ProgramData%\Microsoft\Azure DevOps\Agents
bawah folder . 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.
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 Azure Management |
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?
Catatan
Menjalankan agen dengan sertifikat yang ditandatangani sendiri hanya berlaku untuk Azure DevOps Server.
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, mulai ulang agen dengan mengikuti langkah-langkah di Jalankan sebagai layanan.
Bagaimana cara mengatur variabel lingkungan yang berbeda untuk setiap agen individu?
Buat .env
file di bawah direktori akar agen dan letakkan variabel lingkungan yang ingin Anda atur ke dalam file sebagai format berikut:
MyEnv0=MyEnvValue0
MyEnv1=MyEnvValue1
MyEnv2=MyEnvValue2
MyEnv3=MyEnvValue3
MyEnv4=MyEnvValue4
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.
Apa yang mengaktifkan SERVICE_SID_TYPE_UNRESTRICTED untuk layanan agen?
Saat mengonfigurasi perangkat lunak agen di Windows Server, Anda dapat menentukan pengidentifikasi keamanan layanan dari perintah berikut.
Enter enable SERVICE_SID_TYPE_UNRESTRICTED for agent service (Y/N) (press enter for N)
Versi perangkat lunak agen sebelumnya mengatur jenis pengidentifikasi keamanan layanan ke SERVICE_SID_TYPE_NONE
, yang merupakan nilai default untuk versi agen saat ini. Untuk mengonfigurasi jenis pengidentifikasi layanan keamanan ke SERVICE_SID_TYPE_UNRESTRICTED
, tekan Y
.
Untuk informasi selengkapnya, lihat struktur SERVICE_SID_INFO dan Pengidentifikasi keamanan.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk