Agen macOS 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.
Untuk membangun dan menyebarkan aplikasi Xcode atau proyek Xamarin.iOS, Anda memerlukan setidaknya satu agen macOS. Agen ini juga dapat membangun dan menyebarkan aplikasi Java dan Android.
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 macOS 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
- Sistem operasi yang didukung
- x64
- macOS 10.15 "Catalina"
- macOS 11.0 "Big Sur"
- macOS 12.0 "Monterey"
- macOS 13.0 "Ventura"
- macOS 14.0 "Sonoma"
- ARM64
- macOS 11.0 "Big Sur"
- macOS 12.0 "Monterey"
- macOS 13.0 "Ventura"
- macOS 14.0 "Sonoma"
- x64
- Git - Git 2.9.0 atau yang lebih tinggi (versi terbaru direkomendasikan - Anda dapat dengan mudah menginstal dengan Homebrew)
- .NET - Perangkat lunak agen berjalan pada .NET 6, tetapi menginstal versi .NET sendiri sehingga tidak ada prasyarat .NET.
- TFVC - Jika Anda membangun dari repositori TFVC, lihat prasyarat TFVC.
Menyiapkan izin
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.
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 macOS.
Klik tombol Unduh .
Ikuti instruksi di halaman.
Hapus atribut yang diperluas pada file tar:
xattr -c vsts-agent-osx-x64-V.v.v.tar.gz
.Buka kemasan agen ke direktori pilihan Anda.
cd
ke direktori tersebut dan jalankan./config.sh
. Pastikan bahwa jalur ke direktori tidak berisi spasi karena alat dan skrip tidak selalu keluar dari spasi dengan benar.
URL Server
Azure Pipelines: https://dev.azure.com/{your-organization}
Azure DevOps Server: https://{your_server}/tfs
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 pada layanan seperti Azure Container Instances).
Jalankan sebagai layanan yang diluncurkan
Kami menyediakan ./svc.sh
skrip bagi Anda untuk menjalankan dan mengelola agen Anda sebagai launchd
layanan LaunchAgent. Skrip ini dihasilkan setelah Anda mengonfigurasi agen. Layanan ini memiliki akses ke UI untuk menjalankan pengujian UI Anda.
Catatan
Jika Anda lebih suka pendekatan lain, Anda dapat menggunakan mekanisme layanan apa pun yang Anda sukai. Lihat File layanan.
Token
Di bagian berikut, token ini diganti:
{agent-name}
{tfs-name}
Misalnya, Anda telah mengonfigurasi agen (seperti yang ditunjukkan dalam contoh sebelumnya) dengan nama our-osx-agent
. Dalam contoh berikut, {tfs-name}
adalah:
Azure Pipelines: nama organisasi Anda. Misalnya jika Anda tersambung ke
https://dev.azure.com/fabrikam
, maka nama layanan akan menjadivsts.agent.fabrikam.our-osx-agent
TFS: nama server TFS AT lokal Anda. Misalnya jika Anda tersambung ke
http://our-server:8080/tfs
, maka nama layanan akan menjadivsts.agent.our-server.our-osx-agent
Perintah
Ubah ke direktori agen
Misalnya, jika Anda menginstal di myagent
subfolder direktori rumah Anda:
cd ~/myagent$
Instal
Perintah:
./svc.sh install
Perintah ini membuat launchd
plist yang menunjuk ke ./runsvc.sh
. Skrip ini menyiapkan lingkungan (detail selengkapnya di bagian berikut) dan memulai host agen.
Mulai
Perintah:
./svc.sh start
Output:
starting vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist
Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}
Nomor kiri adalah pid jika layanan berjalan. Jika angka kedua bukan nol, maka terjadi masalah.
Keadaan
Perintah:
./svc.sh status
Output:
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist
Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}
Nomor kiri adalah pid jika layanan berjalan. Jika angka kedua bukan nol, maka terjadi masalah.
Stop
Perintah:
./svc.sh stop
Output:
stopping vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist
Stopped
Menghapus instalan
Anda harus berhenti sebelum menghapus instalan.
Perintah:
./svc.sh uninstall
Masuk dan kunci otomatis
Biasanya, layanan agen hanya berjalan setelah pengguna masuk. Jika Anda ingin layanan agen dimulai secara otomatis saat mesin dimulai ulang, Anda dapat mengonfigurasi komputer untuk masuk dan mengunci startup secara otomatis. Lihat Mengatur Mac Anda untuk masuk secara otomatis selama pengaktifan - Apple Support.
Catatan
Untuk informasi selengkapnya, lihat blog Terminally Geeky: gunakan login otomatis dengan lebih aman. File .plist yang disebutkan dalam blog tersebut mungkin tidak lagi tersedia di sumbernya, tetapi salinan dapat ditemukan di sini: Lifehacker - Buat OS X memuat desktop Anda sebelum Anda masuk.
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
./svc.sh stop
./svc.sh start
Rekam jepret variabel lingkungan disimpan dalam file di .env
bawah direktori akar agen, Anda juga dapat mengubah file tersebut 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 .plist
File layanan .plist dibuat:
~/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist
Contohnya:
~/Library/LaunchAgents/vsts.agent.fabrikam.our-osx-agent.plist
./svc.sh install
menghasilkan file ini dari templat ini: ./bin/vsts.agent.plist.template
File .service
./svc.sh start
menemukan layanan dengan membaca .service
file, yang berisi jalur ke file layanan plist yang dijelaskan di atas.
Mekanisme layanan alternatif
Kami menyediakan ./svc.sh
skrip sebagai cara mudah bagi Anda untuk menjalankan dan mengelola agen Anda sebagai launchd
layanan LaunchAgent. Tetapi Anda dapat menggunakan mekanisme layanan apa pun yang Anda sukai.
Anda dapat menggunakan templat yang dijelaskan di atas untuk memfasilitasi pembuatan jenis file layanan lainnya. Misalnya, Anda memodifikasi templat untuk menghasilkan layanan yang berjalan sebagai daemon peluncuran jika Anda tidak memerlukan pengujian UI dan tidak ingin mengonfigurasi masuk dan kunci otomatis. Lihat Pustaka Pengembang Apple: Membuat Peluncuran Daemon dan Agen.
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
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 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.
Di mana saya dapat mempelajari selengkapnya tentang cara kerja layanan yang diluncurkan?
Perpustakaan Pengembang Apple: Membuat Peluncuran Daemon dan 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 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, ikuti langkah-langkah untuk Berhenti lalu Mulai 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 harus 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 diunduh selama eksekusi tugas checkout jika Anda memeriksa repositori TFVC. Plugin TEE 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 harus menerima untuk memastikan akses ke situs berikut: https://vstsagenttools.blob.core.windows.net/
. Plugin TEE 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
.