티스토리 뷰

젠킨스로 돌아가서,

EC2에 ssh-keygen을 통해 키 파일을 추가로 만들고(이번엔 이름을 지정해서 id_rsa와 겹치지 않게 합니다)

ssh-keygen -t rsa -f /home/ubuntu/.ssh/k8smanifest

쿠버네티스 배포를 위한 manifest 파일이 있는 github credential을 등록합니다.

git repository deploy_keys에도 공개키를 등록해줍니다.

 

git 연결 코드를 생성한 credentialId와 함께 작성합니다.

sh 명령어를 통해 현재 빌드 번호를 태그로 하여 deployment.yaml을 변경하고 커밋하는 git code를 작성합니다. (spring은 이미지네임의 일부임으로 본인의 도커 이미지 이름으로 변경합니다)

해당 코드가 실행되고 ArgoCD 쪽에서 auth sync가 지정되어 있으면,

소스 코드 푸시 > 젠킨스 파이프라인 실행 > 파이프라인에서 도커이미지이름:빌드번호 push > manifest 깃 리포지토리도 자동 커밋 > ArgoCD에서 배포까지 실행되게 됩니다.

ArgoCD 어플리케이션 > App Details 에서 Auto Sync 옵션을 변경할 수 있습니다.

stage('K8S Manifest Update') {
            steps {
                git branch: 'main', credentialsId: 'k8smanifestgit', url: 'git@github.com:choisaelim/k8smanifest.git'
    
                sh "sed -i 's/spring:.*\$/spring:${currentBuild.number}/g' deployment.yaml"
                sh "git add deployment.yaml"
                sh "git commit -m '[UPDATE] spring ${currentBuild.number} image versioning'"
                sshagent(credentials: ['k8smanifestgit']) {
                    sh "git remote set-url origin git@github.com:choisaelim/k8smanifest.git"
                    sh "git push -u origin main"
                }
            }
            post {
                failure {
                  echo 'K8S Manifest Update failure !'
                }
                success {
                  echo 'K8S Manifest Update success !'
                }
            }
        }

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함