ตัวแปรพร็อกซีเป็นของงาน GitLab ที่ต้องใช้มัน
ใช้เทมเพลตงานที่ซ่อนไว้ซ้ำเพื่อจำกัดขอบเขตสภาพแวดล้อมพร็อกซี แทนที่จะทำให้เป็นค่าเริ่มต้นทั้งไปป์ไลน์
สเตจของ GitLab เพียงจัดกลุ่มงานเท่านั้น ไม่ได้มีสภาพแวดล้อมโปรเซสแยกของตัวเอง ให้วางตัวแปรพร็อกซีไว้บนงานที่ต้องใช้ หรือจะผ่านเทมเพลตที่ซ่อนไว้ซึ่งนำกลับมาใช้ได้ก็ได้:
.proxy-environment:
variables:
HTTP_PROXY: "$CODE_PROXY"
HTTPS_PROXY: "$CODE_PROXY"
NO_PROXY: "localhost,127.0.0.1"
external_check:
extends: .proxy-environment
stage: test
script:
- python ci/check_external_service.pyCODE_PROXY มาจากการจัดการตัวแปรที่มีอยู่แล้วของโปรเจกต์ สำหรับงานที่ได้รับอนุญาตให้เข้าถึงบริการสาธารณะผ่านพร็อกซีสาธารณะ ค่าของมันสามารถใช้ปลายทาง HTTP จากรายการพร็อกซี HTTPได้ คำสั่ง Python เป็นเพียงตัวอย่างงานของโปรเจกต์ งานอื่นข้ามเทมเพลตนี้ได้ และหลายงานในสเตจเดียวกันเลือกสภาพแวดล้อมต่างกันได้
อย่าใส่ชื่อพร็อกซีเหล่านี้ไว้ในค่าเริ่มต้น YAML ระดับบนสุด หากไม่ต้องการให้สืบทอดกันในวงกว้าง ควรตรวจตัวแปรระดับโปรเจกต์ กลุ่ม และไปป์ไลน์ด้วย เพราะลำดับความสำคัญของมันอาจเขียนทับค่าของงานใน YAML ได้
inherit:variables ควบคุมการสืบทอดตัวแปรเริ่มต้นใน YAML แต่ไม่ได้ลบตัวแปร CI/CD ของโปรเจกต์หรือกลุ่ม จึงไม่ใช่สวิตช์ทั่วไปสำหรับลบแหล่งพร็อกซีทั้งหมด
การตั้งค่านี้มีผลกับโปรเซสของงาน ไคลเอนต์ HTTP ที่เริ่มภายในงานต้องรองรับตัวแปรเหล่านี้ ส่วนการเชื่อมต่อดึงอิมเมจก่อนหน้านั้นของ runner มีการตั้งค่าแยกของตัวเอง