github 리포지토리의 프로젝트를 나만의 Jenkins로 CICD(배포)하는 과정을 기록합니다.
👇👇 1편 👇👇
3. Jenkins Pipeline 생성
새로운 항목 생성하기
신규 아이템을 생성합니다.
환경설정
소스 저장소 연결하기
빌드할 github 소스 저장소를 연결합니다.
pipeline 설정
jenkins가 실행할 명령어들을 정의합니다.
저는 아래 순서대로 정의하였습니다.
- github 소스 저장소에서 소스 checkout
- build
- image 생성
- docker 컨테이너 생성 및 실행
참고하기
더보기
pipeline {
agent any
tools {
jdk 'jdk17'
}
environment {
JAVA_HOME = 'tool jdk17'
GIT_URL = '[github clone url].git'
BRANCH_NAME = '브랜치명'
CREDENTIALS_ID = '자격증명ID'
PROJECT_NAME = '프로젝트명'
IMAGE_NAME = '이미지명'
}
stages {
stage('Checkout') {
steps {
git url : "${GIT_URL}", branch : "${BRANCH_NAME}", credentialsId : "${CREDENTIALS_ID}"
}
post {
success {
echo 'Success Checkout'
}
failure {
echo 'Fail Checkout'
}
}
}
stage('Build') {
steps {
sh 'chmod +x gradlew'
sh './gradlew clean bootJar -p .'
}
post {
success {
echo 'Success Build'
}
failure {
echo 'Fail Build'
}
}
}
stage('Registry Push') {
steps {
sh "docker build --tag [IP]:[port]/${IMAGE_NAME}:${BRANCH_NAME} ."
}
post {
success {
echo 'Success Registry Push'
}
failure {
echo 'Fail Registry Push'
}
}
}
stage('Dockerizing') {
steps {
sh 'pwd'
sh 'ls -l'
sh "docker-compose -f [docker compose 경로]/docker-compose.yml up -d ${IMAGE_NAME}"
}
post {
success {
echo 'Success Dockerizing'
}
failure {
echo 'Fail Dockerizing'
}
}
}
} // END stages
} // END pipeline
4. 실행 및 성공❤️
Trouble Shooting
멀쩡히 잘 배포되던 pipeline에서 JAVA_HOME(JDK) 에러가 발생할 때
설정한 JDK 압축파일 푼 디렉토리명이 변경되었을 수 있습니다.
해당 경로에서 다시 다운로드받아 디렉토리명을 확인하여 Subdirectory of extracted archive 값을 변경해줍니다.
728x90
'DevOps' 카테고리의 다른 글
[AWS] AWS CI/CD 구현 (3) - CodePipeline 생성 (21) | 2024.03.12 |
---|---|
[AWS] AWS CI/CD 구현 (2) - CodeDeploy 설정 (20) | 2024.03.11 |
[AWS] AWS CI/CD 구현 (1) - CodeCommit, CodeBuild (23) | 2024.03.10 |
[Jenkins] Github 프로젝트 Jenkins CICD (1) - 환경설정 (14) | 2024.03.08 |