Untitled

#Credentials 추가 등록

Untitled

Docker Hub 의 아이디와 패스워드를 각각 Username과 Password에 입력을 한다.

ID 필드에는 도커 허브 아이디를 대신할 별칭을 작성한다.

#Pipeline Item 생성

Untitled

Webhooks을 통해서 알림이 올 경우 설정

Untitled

파이프 라인 소스코드 추가

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

Untitled