Proksi repositori Maven terletak dalam settings.xmlnya. Apabila build Jenkins sudah berjalan di dalam kontena Maven, berikan fail itu kepada proses Maven yang berjalan di sana.

Simpan settings.xml lengkap yang dimaksudkan sebagai kelayakan Jenkins Secret file bernama maven-proxy-settings. Dalam langkah-langkah peringkat kontena sedia ada:

withCredentials([
    file(credentialsId: 'maven-proxy-settings', variable: 'MAVEN_SETTINGS')
]) {
    sh 'mvn -s "$MAVEN_SETTINGS" -B verify'
}

Pengikatan menyediakan laluan fail sementara. Rentetan Groovy dengan petikan tunggal membiarkan pengembangan pemboleh ubah kepada shell, dan petikan berganda shell mengekalkan laluan sebagai satu argumen. Pilihan -s Maven memilih fail itu sebagai tetapan pengguna; -B memilih mod kelompok.

Fail kelayakan boleh mengandungi hos, port, pengesahan dan nonProxyHosts proksi build dalam bahagian proxies, bersama mana-mana tetapan pengguna lain yang diperlukan. Senarai langkau proksi dalam Maven menggunakan bar menegak antara corak hos.

Fail mesti wujud di tempat Maven berjalan

Dengan Docker Pipeline, ejen dan kontena memerlukan sistem fail terlekap yang serasi supaya laluan terikat boleh dibaca di dalam kontena pelaksanaan. docker run yang dilancarkan secara manual memerlukan lekapan fail yang jelas, sebaiknya baca sahaja, dan Maven mesti menerima laluan sebelah kontena. Menghantar laluan hos hanya sebagai pemboleh ubah persekitaran tidak menjadikan fail tersedia.

Kekalkan sebarang perubahan direktori kerja di dalam blok pengikatan kelayakan supaya fail rahsia tidak diletakkan di bawah ruang kerja subdirektori yang boleh dilayari. Jangan cetak fail ke log build atau menyalinnya ke imej kekal.

Ini memilih tetapan pengguna. Tetapan global Maven juga boleh mengambil bahagian, jadi semak kedua-duanya jika cermin warisan atau konfigurasi lain masih mempengaruhi penyelesaian.

Artikel berkaitan