markdown # GitLab Runner 피처 플래그

  • GitLab 11.4에서 소개되었습니다.
caution
기본으로 비활성화된 기능을 활성화하면 데이터 손상, 안정성 저하, 성능 저하 및 보안 문제가 발생할 수 있습니다. 피처 플래그를 활성화하기 전에 해당 기능이 가지는 위험에 대해 인식해야 합니다. 자세한 정보는 개발 중인 기능을 활성화할 때의 위험을 참조하세요.

피처 플래그는 특정 기능을 활성화하거나 비활성화할 수 있는 토글입니다. 이러한 피처 플래그는 일반적으로 다음과 같이 사용됩니다:

  • 모든 사용자에게 활성화되지는 않지만 자원 봉사자들이 테스트할 수 있도록 제공되는 베타 기능에 대해
  • 미래에 기능이 감소되거나 제거되는 중단 변경 사항에 대해

환경 변수를 사용하여 피처 플래그를 전환할 수 있습니다. 다음과 같이 사용할 수 있습니다:

  • 플래그를 활성화하려면 해당 환경 변수를 "true" 또는 1로 설정하세요.
  • 플래그를 비활성화하려면 해당 환경 변수를 "false" 또는 0으로 설정하세요.

사용 가능한 피처 플래그

| 피처 플래그 | 기본 값 | 더 이상 사용되지 않음 | 제거 예정 | 설명 | |————–|—————|————|——————–|————-| | FF_CMD_DISABLE_DELAYED_ERROR_LEVEL_EXPANSION | false | No | | Window Batch 셸을 사용할 때 EnableDelayedExpansion의 오류 확인을 비활성화합니다. | | FF_NETWORK_PER_BUILD | false | No | | docker executor로 빌드 당 Docker 네트워크 생성를 활성화합니다. | | FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY | false | No | | exec 대신에 attach를 통해 원격 Kubernetes 명령의 실행을 비활성화합니다. | | … ```

[긴 문서라서 중략]

파이프라인 구성에서 피처 플래그 활성화

CI 변수를 사용하여 피처 플래그를 활성화할 수 있습니다.

  • 파이프라인의 모든 작업에 대해 (전역적으로):
variables:
  FEATURE_FLAG_NAME: 1
  • 단일 작업에 대해:
job:
  stage: test
  variables:
    FEATURE_FLAG_NAME: 1
  script:
    - echo "안녕"

러너 환경 변수에서 피처 플래그 활성화

모든 작업에 대해 기능을 활성화하려면, 러너 구성environment 변수로 피처 플래그를 지정하세요:

[[runners]]
  name = "ruby-2.7-docker"
  url = "https://CI/"
  token = "TOKEN"
  limit = 0
  executor = "docker"
  builds_dir = ""
  shell = ""
  environment = ["FEATURE_FLAG_NAME=1"]

러너 구성에서 피처 플래그 활성화

[runners.feature_flags] 아래에 지정하여 피처 플래그를 활성화할 수 있습니다. 이 설정은 어떤 작업도 피처 플래그 값을 무시하지 못하도록 합니다.

이 설정을 구성하지 않으면 특정 피처 플래그를 사용할 수 없을 수도 있는데, 왜냐하면 이들은 작업이 실행되는 방식과 관계가 없기 때문입니다.

[[runners]]
  name = "ruby-2.7-docker"
  url = "https://CI/"
  token = "TOKEN"
  executor = "docker"
  [runners.feature_flags]
    FF_USE_DIRECT_DOWNLOAD = true