비밀번호

커뮤니티2

  • 흐림속초3.9구름많음북춘천-3.7구름많음철원-4.8흐림동두천-3.8흐림파주-5.4구름많음대관령-3.5흐림춘천-3.3구름많음백령도0.3흐림북강릉2.0구름많음강릉5.3흐림동해6.9구름조금서울-2.0구름조금인천-2.4구름많음원주0.6구름많음울릉도9.0구름조금수원-2.1구름많음영월-0.7구름많음충주-1.7흐림서산0.1흐림울진6.4구름많음청주0.6구름많음대전-0.5흐림추풍령1.1구름많음안동1.5구름많음상주1.3흐림포항6.1흐림군산1.1구름많음대구5.4맑음전주2.1구름많음울산5.7구름많음창원6.8맑음광주3.8연무부산7.4구름조금통영6.0구름조금목포6.1구름많음여수5.7구름많음흑산도7.3구름조금완도4.5구름조금고창1.7구름많음순천2.7구름많음홍성-0.4구름많음서청주-0.7구름많음제주9.8구름조금고산10.2맑음성산7.8맑음서귀포9.7구름많음진주0.6구름많음강화-4.9흐림양평-0.4구름조금이천-1.3흐림인제0.0흐림홍천-2.2흐림태백-1.7구름많음정선군-0.6구름많음제천-2.5흐림보은-1.3흐림천안-1.5구름많음보령-0.6흐림부여-1.1흐림금산-0.1흐림세종-0.5구름많음부안2.1흐림임실-0.2구름조금정읍1.9흐림남원0.5흐림장수-1.4구름조금고창군2.5구름조금영광군2.1구름많음김해시6.0구름많음순창군1.3구름많음북창원7.1흐림양산시6.1구름많음보성군4.9구름많음강진군5.3흐림장흥3.6구름조금해남3.5구름많음고흥3.1구름많음의령군2.2구름많음함양군2.1구름많음광양시4.4구름많음진도군7.3구름많음봉화-0.9구름많음영주1.4흐림문경0.6구름많음청송군-0.4흐림영덕4.9흐림의성-0.4흐림구미4.2흐림영천4.5흐림경주시5.2흐림거창-0.5구름많음합천3.4구름많음밀양4.1구름많음산청2.1구름많음거제6.2구름많음남해6.1연무북부산5.4
  • 2024.12.03(화)

데이터 엔지니어링데이터 엔지니어링

Gitlab Pipeline schedules를 사용하여 예약 배포하기

Gitlab에서는 CI/CD 파이프라인을 지원하여 애플리케이션의 배포를 자동화할 수 있습니다.

또한 Pipeline schedules를 통해 예약된 스케쥴을 통해 배포 파이프라인을 실행하는 기능 또한 지원합니다.

 

프로젝트 내 메뉴에서 Build > Pipeline schedules 로 이동하여 새 스케쥴을 생성합니다.

Interval Pattern은 미리 지정되어있는 스케쥴로 설정하거나 cron 표현식을 이용하여 설정할 수도 있습니다.

배포될 타겟 브랜치를 선택하고 스케쥴 파이프라인에서 사용될 변수 또한 지정할 수 있습니다.

 

예약 파이프라인은 설정한 Interval에 의해 실행되며, Gitlab UI에서 수동으로 실행할 수 있습니다.

 

스케쥴에 의해 실행된 파이프라인은 기본적으로 scheduled 태그를 가집니다. 이를 이용하여 CI 스크립트 내에서 해당 파이프라인이 예약된 파이프라인인지 분기처리하여 워크로드에 맞는 파이프라인 로직을 작성할 수 있습니다.

 

scheduled pipeline: 
  stage: build 
  rules:  
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" 
  image: node:lts-alpine  
  script: 
    - echo "Scheduled Pipeline" 

 

위는 예약된 파이프라인에서만 실행되는 스크립트를 정의한 스크립트 블록입니다.

rules 블록에서 커밋 브랜치가 스케쥴에서 설정한 타겟 브랜치이고, 파이프라인의 소스가 schedule인 경우에만
해당 스크립트가 실행되게 됩니다.
 
이를 통해 스케쥴된 특정 브랜치는 매 커밋마다 배포하지 않고, 예약된 시간에만 배포되도록 설정할 수 있습니다.

전체댓글0

검색결과는 총 24건 입니다.    글쓰기
1 2