Menjalankan agen yang dihosting sendiri di belakang proksi web

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

Saat agen yang dihost sendiri memerlukan proksi web, Anda dapat memberi tahu agen tentang proksi selama konfigurasi. Ini memungkinkan agen Anda untuk terhubung ke Azure Pipelines atau TFS melalui proksi. Ini pada gilirannya memungkinkan agen untuk mendapatkan sumber dan mengunduh artefak. Terakhir, ini meneruskan detail proksi ke tugas yang juga memerlukan pengaturan proksi untuk menjangkau web.

Azure Pipelines, TFS 2018 RTM, dan yang lebih baru

(Berlaku untuk agen versi 2.122 dan yang lebih baru.)

Untuk memungkinkan agen berjalan di belakang proksi web, teruskan --proxyurl, --proxyusername dan --proxypassword selama konfigurasi agen.

Contohnya:

./config.cmd --proxyurl http://127.0.0.1:8888 --proxyusername "myuser" --proxypassword "mypass"

Kami menyimpan kredensial proksi Anda secara bertanggung jawab di setiap platform untuk mencegah kebocoran yang tidak disengaja. Di Linux, kredensial dienkripsi dengan kunci konten berdasarkan ID komputer. Di macOS, kita menggunakan Rantai Kunci. Di Windows, kami menggunakan Penyimpanan Kredensial.

Catatan

Agen versi 122.0, yang dikirim dengan TFS 2018 RTM, memiliki masalah yang diketahui mengonfigurasi sebagai layanan di Windows. Karena Penyimpanan Kredensial Windows adalah per pengguna, Anda harus mengonfigurasi agen menggunakan pengguna yang sama yang akan dijalankan layanan. Misalnya, untuk mengonfigurasi layanan agen berjalan sebagai mydomain\buildadmin, Anda harus meluncurkan config.cmd sebagai mydomain\buildadmin. Anda dapat melakukannya dengan masuk ke komputer dengan pengguna tersebut atau menggunakan Run as a different user di shell Windows.

Cara agen menangani proksi dalam pekerjaan build atau rilis

Agen akan berbicara dengan layanan Azure DevOps/TFS melalui proksi web yang ditentukan dalam .proxy file.

Karena kode untuk Get Source tugas dalam build dan Download Artifact tugas dalam rilis juga dipanggang ke agen, tugas-tugas tersebut akan mengikuti konfigurasi proksi agen dari .proxy file.

Agen mengekspos konfigurasi proksi melalui variabel lingkungan untuk setiap eksekusi tugas. Penulis tugas perlu menggunakan metode azure-pipelines-task-lib untuk mengambil konfigurasi proksi dan menangani proksi dalam tugas mereka.

Perhatikan bahwa banyak alat tidak secara otomatis menggunakan pengaturan proksi yang dikonfigurasi agen. Misalnya, alat seperti curl dan dotnet mungkin memerlukan variabel lingkungan proksi seperti http_proxy juga diatur pada komputer.

Tentukan URL bypass proksi

Buat .proxybypass file di direktori akar agen yang menentukan ekspresi reguler (dalam sintaks ECMAScript) agar sesuai dengan URL yang harus melewati proksi. Contohnya:

github\.com
bitbucket\.com