예약된 파이프라인

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated

일정된 간격으로 GitLab CI/CD 파이프라인을 실행하는 예약된 파이프라인을 사용합니다.

전제 조건

예약된 파이프라인이 실행되려면:

  • 일정 소유자는 개발자 역할을 가져야 합니다. 보호된 브랜치의 파이프라인의 경우, 일정 소유자는 브랜치에 Merge할 수 있는 권한 이어야 합니다.
  • .gitlab-ci.yml 파일은 유효한 구문을 가져야 합니다.

그렇지 않으면 파이프라인이 생성되지 않습니다. 오류 메시지가 표시되지 않습니다.

파이프라인 스케줄 추가

파이프라인 스케줄을 추가하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 빌드 > 파이프라인 스케줄을 선택합니다.
  3. 새 일정 추가를 선택하고 양식을 작성합니다.
    • 간격 패턴: 사전 구성된 간격 중 하나를 선택하거나, cron 표기법으로 사용자 정의 간격을 입력합니다. 모든 cron 값을 사용할 수 있지만, 예약된 파이프라인은 인스턴스의 최대 예약 파이프라인 빈도 보다 더 자주 실행될 수 없습니다.
    • 대상 브랜치 또는 태그: 파이프라인의 브랜치 또는 태그를 선택합니다.
    • 변수: 일정된 파이프라인이 실행될 때만 CI/CD 변수를 추가합니다. 이러한 변수는 예약된 파이프라인 실행 중에만 사용되며, 다른 파이프라인 실행 중에는 사용되지 않습니다.

프로젝트의 최대 파이프라인 스케줄 수 이미 있는 경우, 다른 일정을 추가하기 전에 사용되지 않는 일정을 삭제해야 합니다.

파이프라인 스케줄 수정

파이프라인 스케줄 소유자는 해당 일정을 편집할 수 있습니다:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 빌드 > 파이프라인 스케줄을 선택합니다.
  3. 일정 옆에서 편집 ()을 선택하고 양식을 작성합니다.

사용자는 프로젝트의 개발자 역할 이상을 가져야 합니다. 사용자가 일정의 소유자가 아닌 경우 먼저 일정의 소유권을 가져와야 합니다.

매뉴얼실행

파이프라인 스케줄을 수동으로 트리거하여 즉시 실행되도록하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 빌드 > 파이프라인 스케줄을 선택합니다.
  3. 디렉터리에서 실행하려는 파이프라인에 대해 오른쪽에서 실행 ()을 선택합니다.

일정된 파이프라인은 1분당 한 번 매뉴얼으로 실행할 수 있습니다.

파이프라인이 매뉴얼으로 실행될 때, 파이프라인은 일정을 트리거한 사용자의 권한으로 실행되며, 일정 소유자의 권한이 아닙니다.

소유권 가져오기

예약된 파이프라인은 일정 소유자의 권한으로 실행됩니다. 파이프라인은 일정 소유자와 같은 리소스에 액세스할 수 있습니다. (include::../environments/protected_environments.md[])와 (include::../jobs/ci_job_token.md[])을 포함합니다.

다른 사용자가 생성한 파이프라인의 소유를 가져오려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 빌드 > 파이프라인 스케줄을 선택합니다.
  3. 디렉터리에서 소유권을 가져 오려는 파이프라인에 대해 오른쪽에서 소유권 가져오기를 선택합니다.

다른 사용자가 생성한 파이프라인의 소유를 가져오려면 적어도 관리자 역할이 필요합니다.

관련 주제

Troubleshooting

짧은 참조는 완전한 참조로 확장됩니다

이 동작은 명시적인 리소스를 강제하기 위해 도입되었으며 정상적인 동작입니다. API는 여전히 짧은 (예: main) 및 완전한 (예: refs/heads/main 또는 refs/tags/main) 참조를 모두 허용하며 제공된 짧은 참조를 확장합니다.

모호한 참조

참조가 확장될 때, 완전한 참조가 자동으로 유추되지 않을 수 있습니다. 이러한 경우는 다음과 같습니다:

  • 짧은 참조가 제공되지만 제공된 짧은 참조 이름으로 브랜치와 태그가 둘 다 존재하는 경우
  • 짧은 참조가 제공되지만 제공된 짧은 참조 이름으로 브랜치 또는 태그가 둘 다 존재하지 않는 경우