기타

[Git] 외장톰캣 배포 시 war 설정, 브랜치 생성, Jenkins 파이프라인

cha430 2025. 8. 1. 09:27

 

로컬 내장톰캣으로 실행하는 게 아니라면

배포하기 위헤서 smartGit 과 git, jenkins 가 필요하죠

 

이때 프로젝트를 war로 만들어야 합니다.

그래야 initializer 파일이 자동으로 생깁니다.

 

외장톰캣을 사용할 경우 꼭 필요합니다.

 

 

ServletInitializer.java

 

 

만약 나처럼 jar 로 만들어놓고 코드를 다 짜버렸다 ? 

프로젝트 새로 war로 생성하기엔 너무 멀리 와버렸다 ?

 

war로 바꿀 수는 있는데 initializer가 자동으로 만들어지지 않기 때문에 파일을 따로 추가하거나

 

Application.java 파일에서 상속받습니다.

 

 

 

 

그리고 build.gradle 에서 마치~ war 였던 것처럼 바꿔줍니다. 두 가지를 !

 

 

 

 

 

그런데 providedRuntime~~ 인데

위에 complieOnly, RuntimeOnly tomcat도 있어서. . . . 전 프로젝트에서 쓰던 거 그대로 가져온 거라 잘 모릅니다만

 

어쩄든 이렇게 총 세 가지를 바꿔주면 외장톰캣에서도 실행이 가능합니다.

 

Foundation/bin 에서 startup 해주고요

 

webapps 에 build 결과물 넣어주고요

 

 

 

 

물론~ 스프링 프로젝트에서 application.yaml 파일 속에 contextPath  잘 써주었겠죠 프로젝트명으로~?

 

 

 

 

그리고 gitIngore 을 확인해봅니다. 

기본 값이 지정되어있긴 하지만, log 관련이 없으므로 추가해주었습니다.

물론 내가 아니고 상무님이^^

 

 

 


 

 

또 중요한 것! 바로바로~

smartgit 입니다.

 

전 프로젝트 push 하거나 pull하지말고 새로 레파지토리 만듭니다.

어디서 만드는지 쩔쩔맸음요 .. (내 동기는 Search Repositories 에다가 git 주소 쓰고 있었음ㅠㅠ)

 

 

 

 

이렇게 open ~ 눌러줍니다.

 

 

지금 작업한 프로젝트 찾아서 선택해주면 열립니다.

 

 

이제 remote 추가

 

 

구름 + 모양에 마우스 대면 추가라고 뜹니다. Add Remote~

 

 대~충~ origin 이라고 이름 지정하고

git 홈페이지에 만든 저장소 주소 copy 한 거 paste 해주고 만듭니다.

 

 

 

잘 뜹니다.

 

이제 LOCAL CHANGES 에서 unstaged 되어있던 것들을 staged 로 옮깁니다.

 

 

 

 

 

 

commit & push 를 해줍니다.

그럼 자동으로 기본값 master 브랜치가 생성되며 commit & push 됩니다.

 

이제~! git으로 갑니다.

 

캡쳐를 못했는데 저장소 새로 만들면 사실 이 화면은 아니고 다른 내용이 써있긴 한데 ..일단 commit & push 를 하면 이렇게 변경됩니다.

 

 

 

 

익숙한 화면입니다!

 

그리고 풀리퀘스트 할 product 를 생성해야합니다.

여기서 중요!!!!

 

지금은 프로젝트를 처음 배포하는 거지만

추후 중간에 브랜치를 생성해서 활용해야할 수도 있기 때문에.

 

1. from master 로 브랜치 생성

 

master 브랜치에 RSS Feed 왼쪽에 마우스 올려보면 Create branch from "master" 라고 뜹니다.

 

이것은 !!! master 브랜치 지금 현 상태에서 새롭게 분기를 만들겠다는 뜻입니다.

 

그래서 master 에 있는 모든 내용이 그대로 이전되며 거기서부터 시작됩니다.

 

 

 

 

2. 커밋해시(커밋ID)를 이용해서 branch를 만들 수도 있습니다.

 

 

원하는 커밋해시를 클릭한 뒤 create Tag 하는 것처럼 create branch 를 해줍니다.

 

e540f12ec 커밋해시에서 branch 를 생성할 경우

이후 커밋한 9e3780651c 의 내용은 포함하지 않고 e540f12ec 까지의 내용만 이전되어 브랜치가 생성됩니다.

테스트할 때 활용할 수 있겠습니다.

 

 

 

--------------

Jenkins

 

 

스마트깃에서 REMOTES (origin) 복사 

 

 

Configure 에서 20번째 줄 url 붙여넣기 한 뒤

git -> git2 로 변경

 

 

 

 

69번째 줄부터~

'수정' 주석 부분 전부 contextPath 설정 (기본값은 프로젝트명)

 

 

---------

 

ignore 파일에 log 추가

 

logs/

.*log

.*log.gz