비밀번호

커뮤니티2

  • 구름많음속초4.9구름많음북춘천-1.9구름많음철원-3.4구름조금동두천-2.5구름조금파주-2.8흐림대관령-3.0구름많음춘천-1.9구름조금백령도1.2구름많음북강릉5.5구름많음강릉6.2구름많음동해7.4구름조금서울-1.8구름조금인천-1.9구름많음원주1.0흐림울릉도8.9구름조금수원-0.3구름많음영월-0.1구름조금충주-0.4구름많음서산0.8흐림울진6.4흐림청주0.8흐림대전0.9구름많음추풍령0.9구름많음안동1.5구름많음상주2.5구름많음포항6.5흐림군산1.8흐림대구6.1구름많음전주2.7구름많음울산6.8구름많음창원8.5구름많음광주4.9구름많음부산9.7구름조금통영7.7구름많음목포5.9구름많음여수6.1구름많음흑산도8.1구름조금완도6.9구름많음고창3.2구름많음순천4.0구름많음홍성-0.4흐림서청주1.0구름많음제주10.4구름많음고산10.3구름많음성산10.1구름많음서귀포13.3구름많음진주4.9구름조금강화-1.5구름많음양평0.1구름많음이천0.7구름많음인제0.7흐림홍천-1.0흐림태백2.0구름많음정선군-0.4구름많음제천-0.8흐림보은-0.3흐림천안0.1구름많음보령1.7흐림부여1.7구름많음금산1.6흐림세종0.2흐림부안2.9흐림임실1.0구름많음정읍2.6흐림남원2.1흐림장수-0.5흐림고창군3.1구름많음영광군3.9구름조금김해시7.2흐림순창군2.3구름많음북창원7.9구름조금양산시8.9구름조금보성군6.4구름조금강진군6.7구름조금장흥6.3구름조금해남7.0구름많음고흥6.0구름많음의령군6.5흐림함양군3.1구름조금광양시5.5구름많음진도군8.2구름많음봉화0.1구름많음영주1.0구름많음문경1.5구름많음청송군2.0흐림영덕5.1구름많음의성1.7구름많음구미4.0구름많음영천5.7구름조금경주시6.6흐림거창1.0흐림합천5.4구름조금밀양7.7흐림산청4.2구름조금거제9.1구름많음남해7.1구름조금북부산8.5
  • 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