Etc/JENKINS

[JENKINS] 구축부터 배포까지 (2) - 프로젝트 구성

doomole 2023. 12. 21. 17:53
728x90
 

JENKINS 설치

https://many.tistory.com/60

 

[JENKINS] 구축부터 배포까지 (1) - 설치

JENKINS 젠킨스(Jenkins)는 오픈 소스 지속적 통합(CI) 및 지속적 배포(CD) 도구로, 소프트웨어 개발 프로세스의 빌드, 테스트, 배포 등을 자동화하고 관리할 수 있다. 젠킨스는 다양한 플러그인과 함께

many.tistory.com

 

위 글에서 설치를 완료했다면 이번 글에서는 프로젝트를 구성하고 jenkins로 프로젝트를 가져오도록 설정해볼 것이다.


PLUGIN 설치

이글은 gitlab을 통해 프로젝트를 가져오고 내부에서 빌드하여 SSH를 통해 WAS서버로 전달하는 구조이다.

따라서 gitlab과 관련된 plugin과 ssh를 설치할 것이다.

Jenkins 관리 -> Plugins로 이동한다.

Available Plugins에서 

GitLab API Plugin

GitLab Branch Source Plugin

Gitlab Merge Request Builder

GitLab Plugin

Publish Over SSH를 설치한다.

 

 

프로젝트 생성

새로운 Item을 클릭하여 프로젝트 생성을 시작한다.

 

 

프로젝트명을 입력하고 Freestyle project로 생성한다.

 

프로젝트 구성

프로젝트를 들어가서 구성을 클릭한다.

 

소스 코드 관리 - Git을 클릭하고 정보를 입력한다.

URL - gitlab에서 HTTPS를 Clone하는 URL

Credentials - Project에 접속하는 계정정보(+Add를 클릭하여 추가한다.)

Branches to build - 가져올 branch 정보

 

 

저장하여 빠져나온 후, 지금 빌드를 클릭하여 정상적으로 git에서 프로젝트를 가져오는지 확인한다.

 

작업공간에도 정상적으로 소스가 들어와 있는 것을 확인할 수 있다.

 

프로젝트 빌드

다음은 프로젝트를 빌드하여 배포가능한 상태로 만드는 작업을 해보겠다.

구성 - Build Steps - Add build step을 클릭하여 Execute shell을 추가하고 build 명령어를 입력한다.

방장의 경우 gradle을 통한 build 명령어를 사용했다.

chmod +x gradlew
./gradlew clean build --exclude-task test

 

 

저장하여 빠져나온 후, 지금 빌드를 클릭하여 프로젝트 빌드까지 완료되는지 확인한다.

 

프로젝트 배포

마지막으로 프로젝트를 WAS서버에 배포하도록 작업하겠다.

홈으로 빠져나가서 Jenkins관리 - System으로 이동한다.

Publish over SSH 탭에서 SSH Server를 추가한다.

고급을 클릭하고 계정 비밀번호를 입력한다.(aws의 경우 pem키의 내용을 Key에 추가한다.

Port가 변경된 경우 변경된 Port를 입력한다.

Test Configuration을 통해 접속성공여부를 확인한다.

 

 

다시 프로젝트로 돌아가 구성을 클릭한다.

Add build step - Send files or execute commands over SSH을 추가한다.

Source files - 작업공간 내 파일 경로

Remove prefix - 옮길 범위 지정(build/libs 하위부터 이동)

Remote directory - 옮겨질 폴더(SSH 설정에서 Remote Directory로 설정된 경로 하위부터 시작한다.)

Exec command - 배포가 완료된 후 실행할 명령어
✓ 방장은 파일을 deploy 폴더 하위로 옮겨놓고, 기존 war 파일을 백업한 후 배포하도록 명령어를 설정했다.

 

 

지금 빌드를 통해 배포까지 정상적으로 완료되는지 확인한다.

 

 

 

문의사항이나 피드백은 댓글로 남겨주세요.

 

 

 

'Etc > JENKINS' 카테고리의 다른 글

[JENKINS] 구축부터 배포까지 (1) - 설치  (0) 2023.12.21