젠킨스의 기능을 동작시켜서 빌드/배포하는 방법
dashboard > jenkins 관리 클릭 > plugins 클릭 > Available plugins 클릭 > publish over ssh 검색해서 클릭 후 설치
docker 검색해서 클릭 후 체크된 것들 설치
플러그인 다 설치되면 재시작 되도록 해당 사항 체크
플러그인 잘 설치되어 있는지 확인
가상 머신에서 ssh 키 를 만들었다면
cat ~/.ssh/id_rsa
이 내용을 저 key 부분에 넣어주시면 됩니다.
remote directory 는 어떤 경로 내에서 명령어를 작성할 것인지 정하는 것
아이템 설정 들어가보면
그러면 이제 이런 플러그인들을 사용해보겠습니다.
파이프라인 사용
jenkins@test:~/workspace/test2/jenkins_test$ ls -al
total 8
drwxr-xr-x 2 jenkins jenkins 4096 Mar 19 06:12 .
drwxr-xr-x 7 jenkins jenkins 4096 Mar 19 06:24 ..
jenkins@test:~/workspace/test2/jenkins_test$ cd ../
지금 jenkins_test
pipeline {
agent any
environment {
IMAGE_NAME = "gyuho0897/backend:${BUILD_ID}"
}
stages {
stage('Git Clone') {
steps {
echo 'Cloning repository'
git branch: 'main', url: 'https://github.com/Ahngyuho/jenkins_test'
}
}
stage('Gradle Build') {
steps {
dir('jenkins-test') { // Git Clone한 프로젝트 디렉토리로 이동
echo "Add permission to gradlew"
sh 'chmod +x gradlew'
echo "Build the project"
sh './gradlew bootJar'
}
}
}
stage('Docker Build') {
steps {
script {
withCredentials([
usernamePassword(credentialsId: 'DOCKER_HUB', usernameVariable: 'DOCKER_HUB_ID', passwordVariable: 'DOCKER_HUB_PW')
]) {
dir('jenkins-test') { // Dockerfile이 있는 디렉토리에서 실행
echo "Building Docker Image: ${IMAGE_NAME}"
sh "docker build -t ${IMAGE_NAME} ."
echo "Docker Login"
sh "docker login -u $DOCKER_HUB_ID -p $DOCKER_HUB_PW"
echo "Docker Push"
sh "docker push ${IMAGE_NAME}"
}
}
}
}
}
}
}
파이프 라인 관리의 장점