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 ڈیفالٹس میں نہ رکھیں۔ پروجیکٹ، گروپ اور پائپ لائن متغیرات بھی دیکھیں: اِن کی ترجیح جاب کی YAML قدر کو منسوخ کر سکتی ہے۔

inherit:variables YAML ڈیفالٹ متغیرات کی وراثت کو کنٹرول کرتا ہے۔ یہ پروجیکٹ یا گروپ کے CI/CD متغیرات کو مٹاتا نہیں، اِس لیے ہر پراکسی ماخذ ہٹانے کے لیے یہ عمومی سوئچ نہیں ہے۔

یہ جاب کے پروسیس کی ترتیب دیتا ہے۔ اِس کے اندر چلنے والا HTTP کلائنٹ اِن متغیرات کو سپورٹ کرنا چاہیے، جبکہ runner کا اس سے پہلے کا امیج پل کنکشن اپنی الگ ترتیب رکھتا ہے۔

متعلقہ مضامین