JenkinsGitLabConnect

Jenkins_GitLab_연동

우선 해당 서버에 Jenkins가 설치가 선행되어야 한다.(Jenkins_설치)

1. Jenkins GitLab 관련 플러그인 설치

0-1.PNG

Jenkins 메인페이지에서

“Jenkins 관리” -> “플로그인 관리” 클릭하자

0-2.PNG

GitLab에 필요한 플러그인을 설치하자!

2. GitLab Access Token 생성

1.PNG

해당 GitLab에 접속해서
“User Settings” -> “Access Tokens” 접속 후 각각 Name, Expires at 설정 후 “Create personal access token” 클릭하자

  • Name
    • Access Token 생성 이름
  • Expires at
    • 만료일

3. 생선한 GitLab Access Token을 Jenkins에 적용하기

2.PNG

Jenkins 페이지에 돌아가서 젠키스 관리 페이지에 들어가서 좌측 메뉴에 보면
“Credentials” -> “System” -> “Global credentials (unrestricted)” 클릭하자!

3.PNG

  • Kind
    • 인증 방식을 선택하는 Select Box입니다. “GitLab API token” 선택하자!
  • API token
    • GItLab에서 생성한 Access Token을 붙여넣기 하자!
  • ID
    • 생성할 자격증 이름
  • Description
    • 생성할 자격증 설명

4.PNG

Jenkins 메인페이지에서 “Jenkins 관리” -> “시스템 설정” 들어가자

5.PNG

  • Connection name
    • 해당 설정 이름
  • host URL
    • GItLab 해당 Repository URL
  • credentials
    • 방금 만들었던 자격증을 선택하자

4. Jenkins 새로운 Project 생성

6.PNG

다시 Jenkins 메인페이지에서 “새로운 Item” 클릭하자

7.PNG

생성할 Project 이름 하고 “Freestyle project” 클릭 후 “OK” 버튼 클릭

8-1.PNG

생성한 Project 들어가서 좌측 메뉴에 “구성” 클릭!

5. Jenkins 새로운 Secret Token 생성

8-2.PNG

빌드 유발에 Build when a change is pushed to Gitlab 클릭 후 “고급”을 클릭하자

9.PNG

secret token을 생성한다.

6. GitLab Web Hooks 설정하기

10.PNG

GitLab 해당 Repository에 들어가서

“Settings” -> “Integrations” 클릭 후

  • URL
    • http://{Jenkins 서버 IP 및 도메인}/project/{Jenkins 생성한 Project Name}
  • Secret Token
    • 방금 생성한 Secret Token을 붙여넣기 하자!

7. Jenkins Environment variables 설정하기

11.PNG

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 설정하기

12.PNG

Jenkins 메인페이지에서 해당 Project의 “구성”을 클릭합시다.

“빌드 환경” 필드에서 “Command”에 실행 할 shell 코드를 입력 합시다. (설정한 Jenkins Environment variables를 활용하자)

1
2
3
4
5
6
7
8
cd $GIT_NAME
git pull
./gradlew clean build -x test


java -jar ${JAR_OPTS} ${JAR_NAME} \
--job.name=ShopMallAllSetAccessTokenUsingRefreshTokenJob \
version=${BUILD_NUMBER}

Copyright 2020- syh8088. 무단 전재 및 재배포 금지. 출처 표기 시 인용 가능.

💰

×

Help us with donation