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 |