Agen macOS yang dihost sendiri

Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019

Penting

Artikel ini menyediakan panduan untuk menggunakan perangkat lunak agen 3.x dengan Layanan Azure DevOps. Jika Anda menggunakan Azure DevOps Server atau TFS, lihat Agen macOS yang dihost sendiri (Agen versi 2.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"
  • 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:

  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 bagian sebelumnya.

  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 , klik macOS.

  5. Klik tombol Unduh .

  6. Ikuti instruksi di halaman.

  7. Hapus atribut yang diperluas pada file tar: xattr -c vsts-agent-osx-x64-V.v.v.tar.gz.

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

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:

  1. Jika Anda telah menjalankan agen sebagai layanan, hapus instalan layanan.

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

  1. Edit runsvc.sh.

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

  1. Hentikan dan hapus instalan layanan seperti yang dijelaskan di bagian sebelumnya.

  2. Hapus agen.

    ./config.sh remove
    
  3. 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?

  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.

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.

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?

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.

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:

  1. Atur DISABLE_TEE_PLUGIN_REMOVAL variabel lingkungan atau alur ke true. Variabel ini mencegah agen menghapus plugin TEE setelah checkout repositori TFVC.
  2. Unduh TEE-CLC versi 14.135.0 secara manual dari rilis GitHub Team Explorer Everywhere.
  3. Ekstrak konten TEE-CLC-14.135.0 folder ke <agent_directory>/externals/tee.