สำหรับคำสั่งเดียวบนเอเจนต์ Jenkins Unix ให้ใส่การกำหนดพร็อกซีไว้ที่คำสั่งนั้น:

node('linux') {
    sh 'http_proxy=http://build-proxy.example:8080 https_proxy=http://build-proxy.example:8080 ./build.sh'
}

ตัวอย่างถือว่า repo มีสคริปต์ build และเครื่องมือของเอเจนต์อ่านชื่อสภาพแวดล้อมเหล่านี้ การกำหนดจะแทนที่ค่าที่สืบทอดมาสำหรับคำสั่งนั้นและโปรเซสลูกของมัน ไม่ได้เขียนทับสภาพแวดล้อมถาวรของเครื่อง สำหรับขั้น build ที่ดึงอาร์ติแฟกต์สาธารณะผ่านเส้นทางที่อนุญาตโดยไม่มีการพิสูจน์ตัวตนพร็อกซี รายการพร็อกซี HTTP สามารถให้ปลายทาง HTTP ที่เป็นตัวเลือกสำหรับค่าเหล่านั้น

หากหลายขั้นของ Pipeline ต้องใช้การแทนที่นี้ร่วมกัน ให้ใช้บล็อก withEnv ล้อมขั้นเหล่านั้น Jenkins ระบุว่าการจัดการตัวแปรไม่แยกตัวพิมพ์ใหญ่เล็กแต่คงรูปตัวพิมพ์ไว้ ตรวจสอบการสะกดที่ได้เมื่อเครื่องมือ Unix ต้องการชื่อที่เป็นตัวพิมพ์เล็กโดยเฉพาะ

export ธรรมดาในขั้น sh หนึ่งขั้นเป็นของเชลล์นั้น ขั้นเชลล์อิสระที่มาทีหลังเป็นโปรเซสใหม่และไม่สืบทอดการเปลี่ยนแปลงของขั้นข้างเคียง

ใช้การตั้งค่า ณ ที่ที่คำสั่งทำงาน การดาวน์โหลดของคอนโทรลเลอร์ Jenkins และเครื่องมือที่เริ่มบนเอเจนต์ระยะไกลเป็นผู้ใช้เครือข่ายที่แยกจากกัน การตรวจสอบอัปเดตที่สำเร็จบนคอนโทรลเลอร์ไม่ได้พิสูจน์เส้นทางของคำสั่งบนเอเจนต์

บทความที่เกี่ยวข้อง