משתני פרוקסי שייכים למשימות GitLab שזקוקות להם
השתמשו מחדש בתבנית משימה מוסתרת כדי להגביל את סביבת הפרוקסי מבלי להפוך אותה לברירת מחדל של כל ה-pipeline.
שלב ב-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.py
CODE_PROXY מסופק דרך ניהול המשתנים הקיים של הפרויקט. עבור משימות שמורשות לגשת לשירותים ציבוריים דרך פרוקסי ציבורי, הערך יכול להשתמש בנקודת קצה HTTP מתוך רשימת פרוקסי HTTP. פקודת Python היא משימת פרויקט להמחשה. משימות אחרות יכולות להשמיט את התבנית הזו, ומספר משימות באותו שלב יכולות לבחור סביבות שונות.
השאירו את שמות הפרוקסי האלה מחוץ לברירות המחדל של YAML ברמה העליונה אם אין צורך להוריש אותם באופן רחב. בדקו גם משתני פרויקט, קבוצה ו-pipeline: הקדימות שלהם יכולה לעקוף את ערך ה-YAML של משימה.
inherit:variables שולט בירושה של משתני ברירת מחדל של YAML. הוא אינו מוחק משתני CI/CD של פרויקט או קבוצה, ולכן אינו מתג כללי להסרת כל מקור פרוקסי.
זה מגדיר את תהליך המשימה. לקוח ה-HTTP שמופעל בתוכו חייב לתמוך במשתנים האלה, ולחיבור משיכת התמונה הקודם של ה-runner יש תצורה משלו.