해당 문서는 Spring프로젝트 빌드 설정을 기준으로 작성하였습니다.
2-4. Build Steps와 2-5. 빌드 후 조치는 Spring관련 설정이오니 참고부탁드립니다 :)
1. GitLab 토큰 발급 및 등록
GitLab로그인 후, 토큰을 발급받습니다.
Token name은 임의로 설정하면 되며, Expiration date는 설정하지 않습니다.(갱신하지 않기 위해)
scopes는 api와 read_user를 선택한 후, Create personal access token을 클릭해줍니다.
하단의 토큰을 복사해 보관해둡니다.
(만약 복사하지 않고 창을 닫았다면 생성한 토큰 삭제 후 위의 과정을 반복합니다. )
Jenkins로 접속하여 Jenkins 관리 → 시스템 설정으로 들어갑니다.
밑으로 스크롤 하여 GitLab을 찾고 아래처럼 필요한 정보를 입력해줍니다.
이곳에서 설정한 name으로 프로젝트 생성시, GitLab Connection을 변경할 수 있습니다.
Enable authentication for '/project' end-point 에 체크를 한 후, Add 버튼을 눌러줍니다.
Kind를 GitLab API Token으로 변경하고, Scope를 Global로 설정 후 생성하여 복사해둔 토큰을 입력하여 저장합니다.
ID는 알아보기 쉽게 네이밍하여 짓습니다.
none으로 설정되어있던 Credentials를 변경해줍니다.
이후 Test Connection을 클릭하여 왼쪽하단처럼 Success가 나온다면 성공한 것입니다.
2. 프로젝트 생성하기
Jenkins 메인 화면으로 돌아와 새로운 Item을 클릭합니다.
그 후, 프로젝트 이름을 설정하고 Freestyle project를 선택합니다.
그리고 프로젝트 구성페이지에 들어가 GitLab Connection에서 1번에서 생성한 Credentials를 확인해줍니다.
2-1. 소스코드 관리
git을 선택해준 후, URL에 git repository 주소(http)를 입력합니다. 입력하면 사진과 같이 경고메세지가 뜨는데, 무시하고 하단의 ADD를 클릭합니다.
Kind를 Username with password로 변경 후, username에 본인의 gitlab id, password에 본인의 password를 입력합니다.
입력 후, 값을 저장하고 Credentials에서 생성한 값을 선택해주면 빨간 경고 메세지가 없어지는 것을 확인할 수 있습니다.
하단에 Branches to build 에서 필요한 Branch를 입력해줍니다.
2-2. 빌드유발
네번째 Build when a change is pushed to GitLab를 선택해줍니다. 오른쪽의 webhook URL을 복사해 둔 후, 하단에 빌드가 필요한 이벤트를 선택합니다.
하단의 고급을 선택합니다.
Allowed branches에서 아래와 같이 설정합니다. include에는 원하는 브랜치 이름을 입력해줍니다.
이후, Secret token을 찾아 내용을 복사합니다.
다시 GitLab으로 접속하여 프로젝트의 setting → webhooks로 들어갑니다.
URL과 secret token에 아까 복사해둔 값들을 넣어줍니다. Trigger에도 원하는 이벤트를 선택해줍니다. (push)
이후 Add webhook을 클릭하면 하단에 사진과 같은 내용이 추가됩니다.
2-3. 빌드환경
아래와같이 설정합니다.
2-4. Build Steps (spring)
Add build step 에서 Excute shell을 선택하여 아래와 같이 설정합니다.
만약 build시, test가 필요한 경우, -x test 는 제외합니다.
우선, 여기까지 작성 후 저장을 누르고 프로젝트로 들어가 지금 빌드를 선택합니다.
만약 문제가 없다면 실패 없이 프로젝트를 가져와 빌드에 성공할 것입니다.
2-5. 빌드 후 조치
2-4. Build Steps에서 프로젝트 빌드에 성공했다면, 빌드 후 조치에서는 빌드 된 jar 파일을 실행시켜야합니다. Script 부분에서 바로 명령어를 실행시킬 수 있지만, 실행파일을 생성하여 실행하는 방법을 사용하겠습니다.
Jenkins가 설치된 서버로 접속하여 Jenkins가 위치한 곳으로 이동합니다.
cd /var/lib/jenkins/workspace
설치된 위치에서 파일 목록을 검색하면 현재 만든 프로젝트 폴더가 나타납니다.
@tmp 가 아닌 본래 프로젝트로 이동 후, build 파일로 들어가면 jar 파일이 생성된 것을 볼 수 있습니다.
여기서 plain 파일이 아닌 그냥 jar 파일을 실행시켜야합니다.
아래와 같은 실행 파일을 생성해줍니다.
cd ~
vi start-script.sh
#아래 복사하여 생성
#!/bin/sh
fuser -k 8080/tcp
#본인의 jar파일 경로 입력
nohup java -jar /var/lib/jenkins/workspace/JENKINS_TEST_PROJECT/build/libs/demo1-0.0.1-SNAPSHOT.jar &
:wq
이후 start-script.sh파일의 권한을 변경시킵니다.
chmod 755 start-script.sh
다시 Jenkins로 돌아와 프로젝트로 들어간 후 구성을 클릭하면, 지금까지 설정한 내용을 확인 및 수정할 수 있습니다.
맨 밑의 빌드 후 조치로 이동 후, 빌드 후 조치 추가를 클릭하여 Post build task를 선택합니다.
이후 생성되는 화면에 아래와 같이 입력한 후, 저장을 누릅니다.
설정을 마친 후, 프로젝트를 수정해서 git push를 하면 프로젝트 빌드를 하는 것을 확인 할 수 있습니다.
빌드 관련 jenkins 로그는 해당 빌드 번호를 누른 후, Console Output을 누르면 확인할 수 있습니다.
'개발 일기 > 기타' 카테고리의 다른 글
VS Code SSH로 원격 서버 연결하기 (1) | 2023.02.21 |
---|---|
[JENKINS] 젠킨스 기타 설정 (Poll SCM | SLACK 연동) (0) | 2022.11.29 |
[JENKINS] Jenkins 설치하기 (0) | 2022.09.30 |
Maven Central에 JAVA 라이브러리 등록하기 (0) | 2022.08.11 |
Fork한 repository 최신으로 동기화 하기 (0) | 2022.08.11 |
댓글