gitlab17 과 gitlab-runner 이용하여 spring boot 프로젝트를 자동배포 설정해봅시다.
branch 는 main 사용합니다.
.gitlab-ci.yml
deploy-to-develop-server:
stage: deploy
only:
- develop
script:
- pwd
- ssh -p '22' 'testacc@1.1.1.1' "cd html && git checkout develop && git pull origin develop && exit"
tags:
- deploy
deploy-to-main-server:
stage: deploy
only:
- main
script:
- pwd
- id
- cd /home/coforward/data-converter/ && git checkout main && git pull origin main && ./gradlew build -x test && cp -f build/libs/relay-0.0.1-SNAPSHOT.war /home/coforward/webapps/ROOT.war
- /opt/tomcat/bin/shutdown.sh && /opt/tomcat/bin/startup.sh
tags:
- deploy
디렉토리 구조
- data-converter : gitlab 저장소 폴더
- html : apache DocumentRoot
- webapps : tomcat DocumentRoot
$ cd /home/
drwxr-xr-x. 8 coforward coforward 4096 Dec 18 16:09 coforward
drwx------. 15 eugene eugene 4096 Dec 17 20:15 eugene
drwx------ 5 gitlab-runner gitlab-runner 128 Dec 18 16:43 gitlab-runner
$ cd coforward
drwxr-xr-x 7 gitlab-runner gitlab-runner 4096 Dec 18 16:43 data-converter
drwxr-xr-x. 17 coforward coforward 4096 Dec 18 14:09 html
drwxrwx--x 3 coforward gitlab-runner 34 Dec 18 16:43 webapps
tomcat 설정
vi /opt/tomcat/conf/server.xml
<Host name="192.168.0.2" appBase="/home/coforward/webapps/"
unpackWARs="true" autoDeploy="true">
<!--
<Host name="192.168.0.2" appBase="/home/coforward/html/webapps/"
unpackWARs="true" autoDeploy="true">
<Context path="/" docBase="./demo-0.0.1-SNAPSHOT.war"
reloadable="false" allowLinking="false" />
-->
'인프라' 카테고리의 다른 글
폐쇄망 환경에서 VS Code + Spring Boot + Vue3 셋업 및 이슈 해결 방법 (0) | 2025.01.13 |
---|---|
[gitlab] CI/CD 배포 설정시 내가 원할때 배포하기 (0) | 2025.01.08 |
[apache] mod_rewrite 이용하여 www 자동으로 붙여주자 (0) | 2024.11.14 |
루트 인증서 개인 인증서 개념정리 (0) | 2024.10.25 |
service httpd restart 구성내용 (0) | 2023.08.02 |