Docker Hub
와 연동 시키기 위한 인증 정보 등록Docker Hub
의 아이디와 패스워드를 각각 Username과 Password에 입력을 한다.
ID 필드에는 도커 허브 아이디를 대신할 별칭을 작성한다.
Webhooks을 통해서 알림이 올 경우 설정
파이프 라인 소스코드 추가
pipeline{
agent any
tools {
gradle 'gradle'
jdk 'openJDK17'
}
environment {
DOCKERHUB_USERNAME = 'dbcks4646' // 여기는 본인의 도커 허브 아이디로 변경
GITHUB_URL = '<https://github.com/dbcks4646/2021-kubecon-demo.git>' // 여기는 본인의 깃허브 주소로 변경
}
stages{
stage('Preparation'){
steps{
script{
sh 'docker --version' // 도커 있는지 확인용
}
}
}
stage('Source Build'){
steps{
// 소스파일 체크아웃
git branch: 'main', url: '<https://github.com/dbcks4646/2021-kubecon-demo.git>'
ㅈ
// 소스 빌드
// 755 권한 필요
sh "chmod +x ./gradlew"
sh "./gradlew clean build"
}
}
stage('Container Build'){
steps{
// jar 파일 복사
sh "cp ./build/libs/*.jar ." // 경로 확인 필요함
// 컨테이너 빌드 및 업로드
// 이미지를 올릴 때 도커 허브 계정아이디가 앞에 붙어야 push 가능
sh "docker build -t ${DOCKERHUB_USERNAME}/test-pipe:latest ."
// docker hub로 push
// push전에 저장소 만들어놓자
withCredentials([usernamePassword(credentialsId:'DOCKERHUB_PASSWORD', passwordVariable: 'DOCKERHUB_USER', usernameVariable: 'DOCKERHUB_PASS')]) {
sh "echo $DOCKERHUB_PASS | docker login -username $DOCKERHUB_USER --password-stdin"
sh "docker push ${DOCKERHUB_USERNAME}/test-pipe:latest"
}
}
}
}
}
#플러그인 추가 - Stage View