Bagikan melalui


Agen Windows yang di-host mandiri

Azure DevOps

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.

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.

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 Windows 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

Pastikan komputer Anda memiliki prasyarat ini:

  • Versi sistem operasi
    • OS Klien
      • Windows 7 SP1 ESU
      • Windows 8.1
      • Windows 10
      • Windows 11
    • Server OS
      • Windows Server 2012 atau yang lebih tinggi
  • Perangkat lunak agen menginstal versi .NET sendiri sehingga tidak ada prasyarat .NET.
  • PowerShell 3.0 atau yang lebih tinggi
  • Subversion - Jika Anda membangun dari repositori Subversion, Anda harus menginstal klien Subversion pada komputer.
  • Direkomendasikan - Alat build Visual Studio (2015 atau lebih tinggi)

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 akan bervariasi menurut kebutuhan Anda, ukuran tim, dll. Tidak dimungkinkan untuk membuat rekomendasi umum yang akan 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 empat 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 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:

  1. Buka browser dan navigasi ke tab Kumpulan agen untuk organisasi Azure Pipelines atau Server Azure DevOps atau server TFS:

    1. Masuk ke organisasi Anda (https://dev.azure.com/{yourorganization}).

    2. Pilih Azure DevOps, Pengaturan organisasi.

      Pilih Pengaturan organisasi.

    3. Pilih Kumpulan agen.

      Pilih tab Kumpulan agen.

    1. Masuk ke koleksi proyek Anda (http://your-server/DefaultCollection).

    2. Pilih Azure DevOps, Pengaturan koleksi.

      Pilih Pengaturan koleksi.

    3. Pilih Kumpulan agen.

      Pilih Kumpulan agen.

    1. Pilih Azure DevOps, Pengaturan koleksi.

      Pengaturan koleksi, 2019.

    2. Pilih Kumpulan agen.

      Pilih Kumpulan agen, 2019.

  2. Pilih kumpulan di sisi kanan halaman lalu klik Keamanan.

  3. 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

  1. Masuk ke komputer menggunakan akun yang telah Anda siapkan izinnya seperti yang dijelaskan di atas.

  2. Di browser web Anda, masuk ke Azure Pipelines, dan navigasikan ke tab Kumpulan agen:

    1. Masuk ke organisasi Anda (https://dev.azure.com/{yourorganization}).

    2. Pilih Azure DevOps, Pengaturan organisasi.

      Pilih Pengaturan organisasi.

    3. Pilih Kumpulan agen.

      Pilih tab Kumpulan agen.

    1. Masuk ke koleksi proyek Anda (http://your-server/DefaultCollection).

    2. Pilih Azure DevOps, Pengaturan koleksi.

      Pilih Pengaturan koleksi.

    3. Pilih Kumpulan agen.

      Pilih Kumpulan agen.

    1. Pilih Azure DevOps, Pengaturan koleksi.

      Pengaturan koleksi, 2019.

    2. Pilih Kumpulan agen.

      Pilih Kumpulan agen, 2019.

  3. Pilih kumpulan Default , pilih tab Agen , dan pilih Agen baru.

  4. Pada kotak dialog Dapatkan agen , pilih Windows.

  5. Di panel kiri, pilih arsitektur prosesor versi OS Windows yang diinstal di komputer Anda. Versi agen 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.

  6. Di panel kanan, klik tombol Unduh .

  7. Ikuti instruksi di halaman untuk mengunduh agen.

  8. 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.

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 skrip penyiapan akan berfungsi dengan benar dalam hal ini.

Memasang agen

  1. Mulai jendela yang ditingkatkan (PowerShell) dan atur lokasi ke tempat Anda membuka kemasan agen.

    cd C:\agents 
    
    
  2. Jalankan config.cmd. Ini akan mengajukan serangkaian pertanyaan untuk mengonfigurasi agen.

    .\config.cmd
    
    

URL Server

Saat penyiapan meminta URL server Anda, untuk Layanan Azure DevOps, jawab https://dev.azure.com/{your-organization}.

Saat penyiapan meminta URL server Anda, untuk Azure DevOps Server, jawab https://{my-server}/{my-collection}.

Jenis autentikasi penyiapan agen

Saat Anda mendaftarkan agen, pilih dari jenis autentikasi berikut, dan penyiapan akan meminta informasi tambahan tertentu yang diperlukan untuk setiap jenis autentikasi. Untuk informasi selengkapnya, lihat Opsi autentikasi agen yang dihost sendiri.

Agen Windows memiliki dua opsi autentikasi tambahan berikut di Azure DevOps Server dan TFS.

  • Negosiasikan Sambungkan ke TFS sebagai pengguna selain pengguna yang masuk melalui skema autentikasi Windows seperti NTLM atau Kerberos. Setelah memilih Negosiasi, Anda akan dimintai kredensial.
  • Terintegrasi (Default) Sambungkan agen Windows ke TFS menggunakan kredensial pengguna yang masuk melalui skema autentikasi Windows seperti NTLM atau Kerberos. Anda tidak akan dimintai kredensial setelah memilih metode ini.

Penting

Server Anda harus dikonfigurasi untuk mendukung metode autentikasi untuk menggunakan autentikasi Alternatif, Negosiasi, atau Terintegrasi.

Metode autentikasi yang digunakan untuk mendaftarkan agen hanya digunakan selama pendaftaran agen. Untuk mempelajari selengkapnya tentang cara agen berkomunikasi dengan Azure Pipelines setelah pendaftaran, lihat Komunikasi dengan Azure Pipelines atau TFS.

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, jalankan perintah berikut untuk memulai agen.

.\run.cmd

Untuk memulai ulang agen, tekan Ctrl+C untuk menghentikan agen, lalu jalankan run.cmd untuk memulai ulang.

Catatan

Jika Anda menjalankan agen dari PowerShell Core untuk menjalankan tugas Windows PowerShell, alur Anda mungkin gagal dengan kesalahan seperti Error in TypeData "System.Security.AccessControl.ObjectSecurity": The member is already present. Ini karena Windows PowerShell mewarisi PSModulePath variabel lingkungan, yang mencakup lokasi modul PowerShell Core, dari proses induknya.

Sebagai solusinya, Anda dapat mengatur kenop AZP_AGENT_CLEANUP_PSMODULES_IN_POWERSHELL agen ke true dalam alur. Ini akan memungkinkan agen untuk mengatur ulang PSModulePath sebelum menjalankan tugas.

variables:
 AZP_AGENT_CLEANUP_PSMODULES_IN_POWERSHELL: "true"

Jika solusi ini tidak mengatasi masalah Anda, atau jika Anda perlu menggunakan lokasi modul kustom, Anda dapat mengatur $Env:PSModulePath variabel sesuai kebutuhan di jendela PowerShell Core Anda sebelum menjalankan agen.

Jalankan sekali

Anda juga dapat memilih agar agen hanya menerima satu pekerjaan lalu keluar. Untuk menjalankan konfigurasi ini, gunakan perintah berikut.

.\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:

  • "Agen Azure Pipelines (nama agen Anda)"
  • "Agen VSTS (nama agen Anda)"
  • "vstsagent. (nama organisasi). (nama agen Anda)"

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 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)
    • SP (Perwakilan Layanan) (Memerlukan agen versi 3.227.1 atau yang lebih baru)
    • 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
    • Anda juga dapat meneruskan token OAuth 2.0 sebagai --token parameter .
  • Jika Anda memilih --auth negotiate atau --auth alt:
    • --userName <userName> - menentukan nama pengguna Windows dalam format domain\userName atau userName@domain.com
    • --password <password> - menentukan kata sandi
  • Jika Anda memilih --auth SP:
    • --clientID <clientID> - menentukan ID Klien Perwakilan Layanan dengan akses ke agen pendaftaran
    • --tenantId <tenantID> - menentukan ID Penyewa tempat Perwakilan Layanan terdaftar
    • --clientSecret <clientSecret> - menentukan Rahasia Klien Perwakilan Layanan
    • Lihat Mendaftarkan agen menggunakan perwakilan layanan untuk informasi selengkapnya

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 format domain\userName atau userName@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 sebagai SERVICE_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 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 informasi selengkapnya, lihat Diagnostik jaringan untuk agen yang dihost sendiri

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

Versi Git apa yang dijalankan agen saya?

Secara default, agen Windows menggunakan versi Git yang dibundel dengan perangkat lunak agen. Microsoft merekomendasikan penggunaan versi Git yang dibundel dengan agen, tetapi Anda memiliki beberapa opsi untuk mengambil alih perilaku default ini dan menggunakan versi Git yang telah diinstal mesin agen di jalur.

Untuk melihat versi Git yang digunakan oleh alur, Anda dapat melihat log untuk checkout langkah di alur Anda, seperti yang ditunjukkan dalam contoh berikut.

Syncing repository: PathFilter (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1

Bagaimana cara memastikan saya memiliki versi agen terbaru?

  1. Navigasi ke tab Kumpulan agen:

    1. Masuk ke organisasi Anda (https://dev.azure.com/{yourorganization}).

    2. Pilih Azure DevOps, Pengaturan organisasi.

      Pilih Pengaturan organisasi.

    3. Pilih Kumpulan agen.

      Pilih tab Kumpulan agen.

    1. Masuk ke koleksi proyek Anda (http://your-server/DefaultCollection).

    2. Pilih Azure DevOps, Pengaturan koleksi.

      Pilih Pengaturan koleksi.

    3. Pilih Kumpulan agen.

      Pilih Kumpulan agen.

    1. Pilih Azure DevOps, Pengaturan koleksi.

      Pengaturan koleksi, 2019.

    2. Pilih Kumpulan agen.

      Pilih Kumpulan agen, 2019.

  2. Klik kumpulan yang berisi agen.

  3. Pastikan agen diaktifkan.

  4. Navigasi ke tab kemampuan:

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

      Dari Kumpulan agen, pilih kumpulan agen yang diinginkan.

    2. Pilih Agen dan pilih agen yang diinginkan.

      Pilih Agen dan pilih agen.

    3. Pilih tab Kapabilitas .

      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.

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

      Pilih kumpulan yang diinginkan.

    2. Pilih Agen dan pilih agen yang diinginkan.

      Pilih Agen dan pilih agen yang diinginkan.

    3. Pilih tab Kapabilitas .

      Tab kemampuan agen.

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

      Pilih tab yang diinginkan, 2019.

    2. Pilih Agen dan pilih agen yang diinginkan.

      Pilih agen yang diinginkan, 2019.

    3. Pilih tab Kapabilitas .

      Pilih tab Kemampuan, 2019.

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

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

Dapatkah saya memperbarui agen 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.

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

  2. 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.

  1. 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 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?

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 dalam format berikut, lalu mulai ulang agen.

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?

Pengaturan dan keamanan situs web

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.