커밋 메시지에 "[배포]"라는 시작 단어를 포함하면 배포되는 방법입니다.
deploy-to-main-server:
stage: deploy
rules:
- if: '$CI_COMMIT_BRANCH == "main" && '$CI_COMMIT_MESSAGE =~ /^\[배포\]/' # 커밋 메시지가 '[배포]'로 시작하면 실행
script:
- pwd
- id
- cd /home/cof/wts/ && git checkout main && git pull origin main && ./gradlew build -x test && cp -f build/libs/wts-0.0.1-SNAPSHOT.war /home/cor/webapps/ROOT.war
- /opt/tomcat/bin/shutdown.sh && /opt/tomcat/bin/startup.sh
tags:
- deploy
이외에도 배포를 원하는 시점에만 배포를 실행할 수 있는 몇 가지 좋은 방법이 있습니다.
1.수동배포(Manual Trigger)
이 방식은 배포를 자동으로 실행하지 않고, 사용자가 GitLab UI에서 버튼을 클릭하여 배포 작업을 수동으로 실행할 수 있도록 합니다.
수동 배포는 매우 유용한 방법으로, 실수로 잘못 배포되는 것을 방지하고, 배포 시점을 명확하게 통제할 수 있습니다.
deploy-to-main-server:
stage: deploy
script:
- pwd
- id
when: manual # 수동으로 실행할 수 있도록 설정
tags:
- deploy
2. 배포 태그 기반 배포 (git tag를 사용)
deploy-to-main-server:
stage: deploy
rules:
- if: '$CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/' # 'v1.0.0' 형식의 태그가 푸시될 때만 배포
script:
- pwd
- id
tags:
- deploy
이 방식은 버전 태그가 푸시될 때만 배포를 실행합니다.
예를 들어, v1.0.0, v2.1.0와 같은 태그를 푸시하면 자동으로 배포가 트리거됩니다.
이 방식은 배포를 명확히 관리할 수 있고, 배포의 일관성을 유지할 수 있습니다.
git tag -a v0.0.2 -m "배포 v0.0.2"
git push origin v0.0.2
'인프라' 카테고리의 다른 글
폐쇄망 환경에서 VS Code + Spring Boot + Vue3 셋업 및 이슈 해결 방법 (0) | 2025.01.13 |
---|---|
gitlab17 gitlab-runner 이용한 CI/CD 설정 (1) | 2024.12.18 |
[apache] mod_rewrite 이용하여 www 자동으로 붙여주자 (0) | 2024.11.14 |
루트 인증서 개인 인증서 개념정리 (0) | 2024.10.25 |
service httpd restart 구성내용 (0) | 2023.08.02 |