یک مرحله 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 برای کشیدن تصویر پیکربندی خودش را دارد.

مقالات مرتبط