Jenkins_GitLab_연동
우선 해당 서버에 Jenkins가 설치가 선행되어야 한다.(Jenkins_설치)
1. Jenkins GitLab 관련 플러그인 설치
Jenkins 메인페이지에서
“Jenkins 관리” -> “플로그인 관리” 클릭하자
GitLab에 필요한 플러그인을 설치하자!
2. GitLab Access Token 생성
해당 GitLab에 접속해서
“User Settings” -> “Access Tokens” 접속 후 각각 Name, Expires at 설정 후 “Create personal access token” 클릭하자
- Name
- Access Token 생성 이름
- Expires at
- 만료일
3. 생선한 GitLab Access Token을 Jenkins에 적용하기
Jenkins 페이지에 돌아가서 젠키스 관리 페이지에 들어가서 좌측 메뉴에 보면
“Credentials” -> “System” -> “Global credentials (unrestricted)” 클릭하자!
- Kind
- 인증 방식을 선택하는 Select Box입니다. “GitLab API token” 선택하자!
- API token
- GItLab에서 생성한 Access Token을 붙여넣기 하자!
- ID
- 생성할 자격증 이름
- Description
- 생성할 자격증 설명
Jenkins 메인페이지에서 “Jenkins 관리” -> “시스템 설정” 들어가자
- Connection name
- 해당 설정 이름
- host URL
- GItLab 해당 Repository URL
- credentials
- 방금 만들었던 자격증을 선택하자
4. Jenkins 새로운 Project 생성
다시 Jenkins 메인페이지에서 “새로운 Item” 클릭하자
생성할 Project 이름 하고 “Freestyle project” 클릭 후 “OK” 버튼 클릭
생성한 Project 들어가서 좌측 메뉴에 “구성” 클릭!
5. Jenkins 새로운 Secret Token 생성
빌드 유발에 Build when a change is pushed to Gitlab 클릭 후 “고급”을 클릭하자
secret token을 생성한다.
6. GitLab Web Hooks 설정하기
GitLab 해당 Repository에 들어가서
“Settings” -> “Integrations” 클릭 후
- URL
- http://{Jenkins 서버 IP 및 도메인}/project/{Jenkins 생성한 Project Name}
- Secret Token
- 방금 생성한 Secret Token을 붙여넣기 하자!
7. Jenkins Environment variables 설정하기
Jenkins 메인페이지에서 “Jenkins 관리” -> “시스템 설정” 들어가서 “Global properties” 탭으로 이동하자
- GIT_NAME
- git 통해 저장된 저장소 패스
- ex) /home/jojoldu/spring-batch/batch.jar 등
- JAR_NAME
- 실행할 Jar 위치가 저장된 변수입니다.
- ex) /home/jojoldu/spring-batch/batch.jar 등
- JVM_OPTS
- G1GC 등의 JVM 옵션 항목이 저장된 변수입니다.
- xmx, xms 등의 옵션도 필요에 따라 추가하시면 됩니다.
- JAR_OPTS
- 위에서 언급한 설정들을 모두 모아 저장된 변수입니다.
- 젠킨스 환경 설정들간에 참조가 가능합니다.
- PROFILES_ACTIVE
- SPRING BATCH Profile 항목 관련 변수입니다.
- eal이라는 값만 저장하지 않고, 시스템 변수 설정까지 (-Dspring.profiles.active) 저장합니다.
- REPOSITORY_NAME
- app 저장된 위치입니다.
8. 해당 Jenkins Project Build Execute shell 설정하기
Jenkins 메인페이지에서 해당 Project의 “구성”을 클릭합시다.
“빌드 환경” 필드에서 “Command”에 실행 할 shell 코드를 입력 합시다. (설정한 Jenkins Environment variables를 활용하자)
1 | cd $GIT_NAME |
Copyright 201- syh8088. 무단 전재 및 재배포 금지. 출처 표기 시 인용 가능.