InfoGrab Docs

더 이상 사용되지 않는 키워드

요약

일부 CI/CD 키워드는 더 이상 사용되지 않으며 사용이 권장되지 않습니다. 이 키워드들은 하위 호환성을 보장하기 위해 여전히 사용할 수 있지만, 향후 주요 마일스톤에서 제거가 예약될 수 있습니다. image, services, cache, before_script, after_script를 전역으로 정의하는 것은 더 이상 사용되지 않습니다.

일부 CI/CD 키워드는 더 이상 사용되지 않으며 사용이 권장되지 않습니다.

Warning

이 키워드들은 하위 호환성을 보장하기 위해 여전히 사용할 수 있지만, 향후 주요 마일스톤에서 제거가 예약될 수 있습니다.

전역으로 정의된 image, services, cache, before_script, after_script#

image, services, cache, before_script, after_script를 전역으로 정의하는 것은 더 이상 사용되지 않습니다. 대신 default를 사용합니다.

예를 들어:

default:
  image: ruby:3.0
  services:
    - docker:dind
  cache:
    paths: [vendor/]
  before_script:
    - bundle config set path vendor/bundle
    - bundle install
  after_script:
    - rm -rf tmp/

only / except#

Note

onlyexcept는 더 이상 사용되지 않습니다. 파이프라인에 작업을 추가하는 시기를 제어하려면 대신 rules를 사용합니다.

onlyexcept를 사용하여 파이프라인에 작업을 추가하는 시기를 제어할 수 있습니다.

  • only를 사용하여 작업이 실행되는 시기를 정의합니다.
  • except를 사용하여 작업이 실행되지 않는 시기를 정의합니다.

only:refs / except:refs#

Note

only:refsexcept:refs는 더 이상 사용되지 않습니다. refs, 정규 표현식 또는 변수를 사용하여 파이프라인에 작업을 추가하는 시기를 제어하려면 대신 rules:if를 사용합니다.

only:refsexcept:refs 키워드를 사용하여 브랜치 이름이나 파이프라인 유형에 따라 파이프라인에 작업을 추가하는 시기를 제어할 수 있습니다.

키워드 유형: 작업 키워드. 작업의 일부로만 사용할 수 있습니다.

지원되는 값: 다음을 포함하는 배열:

only:refsexcept:refs 예시:

job1:
  script: echo
  only:
    - main
    - /^issue-.*$/
    - merge_requests

job2:
  script: echo
  except:
    - main
    - /^stable-branch.*$/
    - schedules

추가 세부 정보:

  • 예약된 파이프라인은 특정 브랜치에서 실행되므로 only: branches로 구성된 작업은 예약된 파이프라인에서도 실행됩니다. only: branches가 있는 작업이 예약된 파이프라인에서 실행되지 않도록 하려면 except: schedules를 추가합니다.

  • 다른 키워드 없이 사용된 only 또는 exceptonly: refs 또는 except: refs와 동일합니다. 예를 들어, 다음 두 작업 구성은 동일한 동작을 합니다:

    job1:
      script: echo
      only:
        - branches
    
    job2:
      script: echo
      only:
        refs:
          - branches
    
  • 작업이 only, except 또는 rules를 사용하지 않으면 only는 기본적으로 branchestags로 설정됩니다.

    예를 들어, job1job2는 동일합니다:

    job1:
      script: echo "test"
    
    job2:
      script: echo "test"
      only:
        - branches
        - tags
    

only:variables / except:variables#

Note

only:variablesexcept:variables는 더 이상 사용되지 않습니다. refs, 정규 표현식 또는 변수를 사용하여 파이프라인에 작업을 추가하는 시기를 제어하려면 대신 rules:if를 사용합니다.

CI/CD 변수의 상태에 따라 파이프라인에 작업을 추가하는 시기를 제어하기 위해 only:variables 또는 except:variables 키워드를 사용할 수 있습니다.

키워드 유형: 작업 키워드. 작업의 일부로만 사용할 수 있습니다.

지원되는 값:

only:variables 예시:

deploy:
  script: cap staging deploy
  only:
    variables:
      - $RELEASE == "staging"
      - $STAGING

only:changes / except:changes#

Note

only:changesexcept:changes는 더 이상 사용되지 않습니다. 변경된 파일을 사용하여 파이프라인에 작업을 추가하는 시기를 제어하려면 대신 rules:changes를 사용합니다.

Git 푸시 이벤트가 파일을 수정할 때 작업을 실행하려면 only와 함께 changes 키워드를 사용하고, 작업을 건너뛰려면 except와 함께 사용합니다.

다음 refs가 있는 파이프라인에서 changes를 사용합니다:

  • branches
  • external_pull_requests
  • merge_requests

키워드 유형: 작업 키워드. 작업의 일부로만 사용할 수 있습니다.

지원되는 값: 다음을 포함하는 배열:

  • 파일 경로.
  • 다음에 대한 와일드카드 경로:
    • 단일 디렉토리, 예: path/to/directory/*.
    • 디렉토리와 모든 하위 디렉토리, 예: path/to/directory/**/*.
  • 같은 확장자 또는 여러 확장자를 가진 모든 파일에 대한 와일드카드 glob 경로, 예: *.md 또는 path/to/directory/*.{rb,py,sh}.
  • 루트 디렉토리 또는 모든 디렉토리의 파일에 대한 와일드카드 경로(큰따옴표로 감쌈). 예: "*.json" 또는 "**/*.json".

only:changes 예시:

docker build:
  script: docker build -t my-image:$CI_COMMIT_REF_SLUG .
  only:
    refs:
      - branches
    changes:
      - Dockerfile
      - docker/scripts/*
      - dockerfiles/**/*
      - more_scripts/*.{rb,py,sh}
      - "**/*.json"

추가 세부 정보:

  • 일치하는 파일 중 하나라도 변경되면 changestrue로 확인됩니다(OR 연산).
  • Glob 패턴은 flags File::FNM_PATHNAME | File::FNM_DOTMATCH | File::FNM_EXTGLOB와 함께 Ruby의 File.fnmatch로 해석됩니다.
  • branches, external_pull_requests 또는 merge_requests 이외의 refs를 사용하면 changes는 주어진 파일이 새 것인지 오래된 것인지 결정할 수 없어 항상 true를 반환합니다.
  • 다른 refs와 함께 only: changes를 사용하면 작업은 변경 사항을 무시하고 항상 실행됩니다.
  • 다른 refs와 함께 except: changes를 사용하면 작업은 변경 사항을 무시하고 절대 실행되지 않습니다.

관련 주제:

only:kubernetes / except:kubernetes#

Note

only:kubernetesexcept:kubernetes는 더 이상 사용되지 않습니다. 프로젝트에서 Kubernetes 서비스가 활성화된 경우 파이프라인에 작업을 추가할지 제어하려면 대신 CI_KUBERNETES_ACTIVE 사전 정의된 CI/CD 변수와 함께 rules:if를 사용합니다.

only:kubernetes 또는 except:kubernetes를 사용하여 프로젝트에서 Kubernetes 서비스가 활성화된 경우 파이프라인에 작업을 추가할지 제어합니다.

키워드 유형: 작업 특정. 작업의 일부로만 사용할 수 있습니다.

지원되는 값:

  • kubernetes 전략은 active 키워드만 허용합니다.

only:kubernetes 예시:

deploy:
  only:
    kubernetes: active

이 예시에서 deploy 작업은 프로젝트에서 Kubernetes 서비스가 활성화된 경우에만 실행됩니다.

GitLab Pages의 publish 키워드 및 pages 작업 이름#

GitLab Pages 배포 작업의 작업 수준 publish 키워드와 pages 작업 이름은 더 이상 사용되지 않습니다.

Pages 배포를 제어하려면 대신 pagespages.publish 키워드를 사용합니다.

environment:kubernetes:namespaceenvironment:kubernetes:flux_resource_path#

Note

environment:kubernetes:namespaceenvironment:kubernetes:flux_resource_pathkubernetes 아래에 직접 사용될 때 더 이상 사용되지 않습니다. 대시보드 설정을 구성하려면 environment:kubernetes:dashboard:namespaceenvironment:kubernetes:dashboard:flux_resource_path를 대신 사용합니다. 자세한 내용은 environment:kubernetes를 참조하세요.

environment:kubernetes:namespaceenvironment:kubernetes:flux_resource_path를 사용하여 Kubernetes 대시보드 설정을 구성할 수 있지만, kubernetes 섹션 아래에 직접 사용하는 것은 더 이상 사용되지 않습니다.

키워드 유형: 작업 키워드. 작업의 일부로만 사용할 수 있습니다.

environment:kubernetes:namespaceenvironment:kubernetes:flux_resource_path 예시:

deploy:
  environment:
    name: production
    kubernetes:
      agent: path/to/agent/project:agent-name
      namespace: my-namespace
      flux_resource_path: helm.toolkit.fluxcd.io/v2/namespaces/flux-system/helmreleases/helm-release

environment:kubernetes:dashboard:namespaceenvironment:kubernetes:dashboard:flux_resource_path 예시:

deploy:
  environment:
    name: production
    kubernetes:
      agent: path/to/agent/project:agent-name
      dashboard:
        namespace: my-namespace
        flux_resource_path: helm.toolkit.fluxcd.io/v2/namespaces/flux-system/helmreleases/helm-release

더 이상 사용되지 않는 키워드

원문 보기
요약

일부 CI/CD 키워드는 더 이상 사용되지 않으며 사용이 권장되지 않습니다. 이 키워드들은 하위 호환성을 보장하기 위해 여전히 사용할 수 있지만, 향후 주요 마일스톤에서 제거가 예약될 수 있습니다. image, services, cache, before_script, after_script를 전역으로 정의하는 것은 더 이상 사용되지 않습니다.

일부 CI/CD 키워드는 더 이상 사용되지 않으며 사용이 권장되지 않습니다.

Warning

이 키워드들은 하위 호환성을 보장하기 위해 여전히 사용할 수 있지만, 향후 주요 마일스톤에서 제거가 예약될 수 있습니다.

전역으로 정의된 image, services, cache, before_script, after_script#

image, services, cache, before_script, after_script를 전역으로 정의하는 것은 더 이상 사용되지 않습니다. 대신 default를 사용합니다.

예를 들어:

default:
  image: ruby:3.0
  services:
    - docker:dind
  cache:
    paths: [vendor/]
  before_script:
    - bundle config set path vendor/bundle
    - bundle install
  after_script:
    - rm -rf tmp/

only / except#

Note

onlyexcept는 더 이상 사용되지 않습니다. 파이프라인에 작업을 추가하는 시기를 제어하려면 대신 rules를 사용합니다.

onlyexcept를 사용하여 파이프라인에 작업을 추가하는 시기를 제어할 수 있습니다.

  • only를 사용하여 작업이 실행되는 시기를 정의합니다.
  • except를 사용하여 작업이 실행되지 않는 시기를 정의합니다.

only:refs / except:refs#

Note

only:refsexcept:refs는 더 이상 사용되지 않습니다. refs, 정규 표현식 또는 변수를 사용하여 파이프라인에 작업을 추가하는 시기를 제어하려면 대신 rules:if를 사용합니다.

only:refsexcept:refs 키워드를 사용하여 브랜치 이름이나 파이프라인 유형에 따라 파이프라인에 작업을 추가하는 시기를 제어할 수 있습니다.

키워드 유형: 작업 키워드. 작업의 일부로만 사용할 수 있습니다.

지원되는 값: 다음을 포함하는 배열:

only:refsexcept:refs 예시:

job1:
  script: echo
  only:
    - main
    - /^issue-.*$/
    - merge_requests

job2:
  script: echo
  except:
    - main
    - /^stable-branch.*$/
    - schedules

추가 세부 정보:

  • 예약된 파이프라인은 특정 브랜치에서 실행되므로 only: branches로 구성된 작업은 예약된 파이프라인에서도 실행됩니다. only: branches가 있는 작업이 예약된 파이프라인에서 실행되지 않도록 하려면 except: schedules를 추가합니다.

  • 다른 키워드 없이 사용된 only 또는 exceptonly: refs 또는 except: refs와 동일합니다. 예를 들어, 다음 두 작업 구성은 동일한 동작을 합니다:

    job1:
      script: echo
      only:
        - branches
    
    job2:
      script: echo
      only:
        refs:
          - branches
    
  • 작업이 only, except 또는 rules를 사용하지 않으면 only는 기본적으로 branchestags로 설정됩니다.

    예를 들어, job1job2는 동일합니다:

    job1:
      script: echo "test"
    
    job2:
      script: echo "test"
      only:
        - branches
        - tags
    

only:variables / except:variables#

Note

only:variablesexcept:variables는 더 이상 사용되지 않습니다. refs, 정규 표현식 또는 변수를 사용하여 파이프라인에 작업을 추가하는 시기를 제어하려면 대신 rules:if를 사용합니다.

CI/CD 변수의 상태에 따라 파이프라인에 작업을 추가하는 시기를 제어하기 위해 only:variables 또는 except:variables 키워드를 사용할 수 있습니다.

키워드 유형: 작업 키워드. 작업의 일부로만 사용할 수 있습니다.

지원되는 값:

only:variables 예시:

deploy:
  script: cap staging deploy
  only:
    variables:
      - $RELEASE == "staging"
      - $STAGING

only:changes / except:changes#

Note

only:changesexcept:changes는 더 이상 사용되지 않습니다. 변경된 파일을 사용하여 파이프라인에 작업을 추가하는 시기를 제어하려면 대신 rules:changes를 사용합니다.

Git 푸시 이벤트가 파일을 수정할 때 작업을 실행하려면 only와 함께 changes 키워드를 사용하고, 작업을 건너뛰려면 except와 함께 사용합니다.

다음 refs가 있는 파이프라인에서 changes를 사용합니다:

  • branches
  • external_pull_requests
  • merge_requests

키워드 유형: 작업 키워드. 작업의 일부로만 사용할 수 있습니다.

지원되는 값: 다음을 포함하는 배열:

  • 파일 경로.
  • 다음에 대한 와일드카드 경로:
    • 단일 디렉토리, 예: path/to/directory/*.
    • 디렉토리와 모든 하위 디렉토리, 예: path/to/directory/**/*.
  • 같은 확장자 또는 여러 확장자를 가진 모든 파일에 대한 와일드카드 glob 경로, 예: *.md 또는 path/to/directory/*.{rb,py,sh}.
  • 루트 디렉토리 또는 모든 디렉토리의 파일에 대한 와일드카드 경로(큰따옴표로 감쌈). 예: "*.json" 또는 "**/*.json".

only:changes 예시:

docker build:
  script: docker build -t my-image:$CI_COMMIT_REF_SLUG .
  only:
    refs:
      - branches
    changes:
      - Dockerfile
      - docker/scripts/*
      - dockerfiles/**/*
      - more_scripts/*.{rb,py,sh}
      - "**/*.json"

추가 세부 정보:

  • 일치하는 파일 중 하나라도 변경되면 changestrue로 확인됩니다(OR 연산).
  • Glob 패턴은 flags File::FNM_PATHNAME | File::FNM_DOTMATCH | File::FNM_EXTGLOB와 함께 Ruby의 File.fnmatch로 해석됩니다.
  • branches, external_pull_requests 또는 merge_requests 이외의 refs를 사용하면 changes는 주어진 파일이 새 것인지 오래된 것인지 결정할 수 없어 항상 true를 반환합니다.
  • 다른 refs와 함께 only: changes를 사용하면 작업은 변경 사항을 무시하고 항상 실행됩니다.
  • 다른 refs와 함께 except: changes를 사용하면 작업은 변경 사항을 무시하고 절대 실행되지 않습니다.

관련 주제:

only:kubernetes / except:kubernetes#

Note

only:kubernetesexcept:kubernetes는 더 이상 사용되지 않습니다. 프로젝트에서 Kubernetes 서비스가 활성화된 경우 파이프라인에 작업을 추가할지 제어하려면 대신 CI_KUBERNETES_ACTIVE 사전 정의된 CI/CD 변수와 함께 rules:if를 사용합니다.

only:kubernetes 또는 except:kubernetes를 사용하여 프로젝트에서 Kubernetes 서비스가 활성화된 경우 파이프라인에 작업을 추가할지 제어합니다.

키워드 유형: 작업 특정. 작업의 일부로만 사용할 수 있습니다.

지원되는 값:

  • kubernetes 전략은 active 키워드만 허용합니다.

only:kubernetes 예시:

deploy:
  only:
    kubernetes: active

이 예시에서 deploy 작업은 프로젝트에서 Kubernetes 서비스가 활성화된 경우에만 실행됩니다.

GitLab Pages의 publish 키워드 및 pages 작업 이름#

GitLab Pages 배포 작업의 작업 수준 publish 키워드와 pages 작업 이름은 더 이상 사용되지 않습니다.

Pages 배포를 제어하려면 대신 pagespages.publish 키워드를 사용합니다.

environment:kubernetes:namespaceenvironment:kubernetes:flux_resource_path#

Note

environment:kubernetes:namespaceenvironment:kubernetes:flux_resource_pathkubernetes 아래에 직접 사용될 때 더 이상 사용되지 않습니다. 대시보드 설정을 구성하려면 environment:kubernetes:dashboard:namespaceenvironment:kubernetes:dashboard:flux_resource_path를 대신 사용합니다. 자세한 내용은 environment:kubernetes를 참조하세요.

environment:kubernetes:namespaceenvironment:kubernetes:flux_resource_path를 사용하여 Kubernetes 대시보드 설정을 구성할 수 있지만, kubernetes 섹션 아래에 직접 사용하는 것은 더 이상 사용되지 않습니다.

키워드 유형: 작업 키워드. 작업의 일부로만 사용할 수 있습니다.

environment:kubernetes:namespaceenvironment:kubernetes:flux_resource_path 예시:

deploy:
  environment:
    name: production
    kubernetes:
      agent: path/to/agent/project:agent-name
      namespace: my-namespace
      flux_resource_path: helm.toolkit.fluxcd.io/v2/namespaces/flux-system/helmreleases/helm-release

environment:kubernetes:dashboard:namespaceenvironment:kubernetes:dashboard:flux_resource_path 예시:

deploy:
  environment:
    name: production
    kubernetes:
      agent: path/to/agent/project:agent-name
      dashboard:
        namespace: my-namespace
        flux_resource_path: helm.toolkit.fluxcd.io/v2/namespaces/flux-system/helmreleases/helm-release