- 젠킨스로 빌드하여 도커에 배포하기
- Ansible - Jenkins 연동하여 배포하기2
- Ansible - Kubernetes 연동하여 배포하기
세개의 포스팅이 합쳐진 배포입니다.
Github에 레포지토리의 commit을 감지
Jenkins에서 빌드하여 SSH로 Ansible Server에 jar파일을 전송합니다.
Ansible Server에서 jar파일을 Docker image로 변환하여 dockerhub에 push합니다.
1,2,3이 성공적으로 끝났다면 Jenkins에서 다음 생성한 Jenkins CD Item을 실행합니다.
Jenkins에서 ssh로 넘겨받은 jar파일을 build할 Dockerfile을 작성해줍니다.
jar를 빌드하고 dockerhub에 올릴 Ansible Playbook yml 작성해줍니다.
지금까지 작성했던 task가 정상적으로 작동이 되는지 테스트 해줍니다.
SSH Server 세팅과 Github을 연동하고
Send build artifacts over SSH에서 jar파일을 Ansible server로 전달하고 위에서 만들었던 Ansible playbook yml 파일을 실행해줍니다.
위의 task가 전부 성공하면 '빌드 후 조치'에서 'Build other projects'에
에서 생성했던 Item을 연동해줍니다.
깃헙에 프로젝트를 커밋하게 되면 ansible과 연동된 jenkins가 빌드 되게 되고 성공적으로 끝나면
쿠버네티스 배포 Item이 실행됩니다.
직접 확인해보시면 service와 deployment가 정상적으로 생성된것을 확인할 수 있습니다.
reference : Jenkins를 이용한 CI/CD Pipeline 구축 - 이도원