알짜정보/IT정보

Jenkins & Git Lab Gradle Procject CI/CD 구성 방법

리커니 2023. 6. 8.
반응형

Jenkins & Git Lab Gradle Project CD/CI 구성 방법에 대해 알아보도록 하겠습니다.

설치나 설정방법은 이전 포스팅을 참고해주세요.

 

Git Lab이 설치된 서버의 OS는 CentOS 입니다.

그리고 젠킨스가 설치된 서버에 자동배포까지 진행하는 방법입니다.

 

Link : https://aljjabaegi.tistory.com/635

 

Jenkins Gradle, Maven build plugin 설치

Jenkins Gradle Maven build plugin 설치 이전 포스팅에서 CI / CD 에 대한 설명과 설치방법, SVN 연동방법에 대해 알아보았습니다. Link : https://aljjabaegi.tistory.com/630 CI /CD 의 개념, 등장한 이유, 대표 플랫폼 CI

aljjabaegi.tistory.com

Link : https://aljjabaegi.tistory.com/634

 

Jenkins SVN 플러그인 추가 및 연동 방법

Jenkins SVN 플러그인 추가 및 연동 방법 Jenkins 에서 SVN 플러그인을 추가하고 연동하는 방법을 알아보겠습니다. 우선 "새로운 Item"을 클릭하여 프로젝트를 추가해줍니다. 기존에 프로젝트가 있다면

aljjabaegi.tistory.com

Link : https://aljjabaegi.tistory.com/633

 

CI /CD 플랫폼 Jenkins 다운로드 및 설치 방법 for Window

CI /CD 플랫폼 Jenkins 다운로드 및 설치 방법 for Window CI / CD 에 대해선 아래의 Link를 참고하시기 바랍니다. Link : https://aljjabaegi.tistory.com/630 CI /CD 의 개념, 등장한 이유, 대표 플랫폼 CI / CD 의 개념, 등

aljjabaegi.tistory.com

Link : https://aljjabaegi.tistory.com/630

 

CI /CD 의 개념, 등장한 이유, 대표 플랫폼

CI / CD 의 개념, 등장한 이유, 대표 플랫폼 이번 포스팅에서는 CI / CD의 개념과 등장이유, 대표 툴에 대해서 알아보겠습니다. CI / CD의 개념 CI 는 Continuous Integration 의 약자로 지속적 통합을 의미합

aljjabaegi.tistory.com

 

Jenkins에 접속을 하시면 새로운 Item을 선택하여 Freestyle project로 생성해주세요.

그럼 프로젝트가 생성이 되면서 '구성' 메뉴로 이동이 됩니다.

 

1. General

General Tab에서 기본 정보를 입력해 주시구요,

Repository URL에 Git Lab 프로젝트 clone 가능한 주소를 입력해 주세요.

Credentials는 옆에 Add > Jenkins를 클릭하여 Git Lab에 로그인 가능한 ID와 Password 만 입력을 하시면 됩니다.

 

2.빌드유발

빌드유발에서는 Build when a change is pushed to GitLab을 체크하시고, push 이벤트가 있을 때만 빌드를 할 것 이기 때문에 Push Events를 체크합니다. 나머지는 기본 세팅으로 넘어갑니다.

 

3. 빌드환경

Build 에 Gradle을 선택하고 Tasks에 'bootJar'를 입력합니다.

4. 빌드 후 조치

'Post build task' 를 선택하여 AND 조건으로 추가 후

'Add another task'를 클릭하여 2개의 Script를 입력합니다.

 

첫번째 Script

ps -ef | grep "프로젝트명" | grep active="엑티브프로파일" | grep -v grep | awk '{print $2}' | sudo -i xargs kill -9 2 >/dev/null
if [ $? -eq 0 ];then
    echo "stop success"
    exit 0
fi

프로젝트명과 엑티브프로파일명을 바꾸어 등록합니다.

프로젝트가 실행중이라면 강제종료하는 로직입니다.

 

두번째 Script

sudo -i nohup 자바경로 -jar -Dspring.profiles.active=엑티브프로파일 -DkeyPair.path=/keyPair/ 젠킨스에 build된 프로젝트 경로의 .jar&

jar 파일을 실행하는 명령어 입니다.

자바경로와 엑티브프로파일, 젠킨스에 build된 jar 파일을 변경하여 입력합니다.

 

5. 젠킨스 토큰 생성

이제 젠킨스에서 Git lab에 접근할 수 있는 권한을 주어야 하는데, 여러가지 방법이 있지만 간단하게

젠킨스에서 생성한 토큰을 Git lab에 등록하는 방법으로 진행하겠습니다.

 

젠킨스 프로젝트>구성>빌드유발 탭을 클릭합니다. 우측 하단의 고급 버튼을 클릭합니다.

그럼 Secret token이 생기는데, Generate 버튼을 클릭하여 토큰을 생성합니다.

 

생성한 토큰을 복사하여 Git lab으로 이동합니다. 

해당 프로젝트의 Settings > Integrations로 이동하면 URL과 Secret Token을 입력할 수 있습니다.

다른 설정은 그래도 두고, 젠킨스의 프로젝트 URL과 이전에 복사한 Secret token 을 입력하고 스크롤을 내려

'Add webhook 버튼을 클릭합니다.

테스트 버튼을 클릭하여 'Push events' 를 선택하면 성공할 경우 아래와 같은 메시지가 출력되고,

Jenkins로 이동하면 build 가 되는것을 확인하실 수 있습니다.

 

 

반응형

댓글

💲 추천 글