
준비물 : Dockerfile, Playbook in Ansible
1. Jenkins로, war파일 git에서 받아와 mvn 빌드하여 war파일 만들고, 그 파일을 ansible server에 copy한다
2. war파일을 가지고 있는 엔서블 서버에서 이미지를 만들기 위한 Dockerfile 실행
(해당 도커파일은, jenkins로 maven build 된 war파일을, tomcat 서버의 wepapps에 배포가 끝난 이미지를 만드는 도커파일이다)
3. 이미지 만들고, 허브에 올리고, 로컬에 있는 이미지 다시 삭제하는 Playbook으로 CI 마무리
Poll SCM을 활용해서 git에서 소스코드 변경될때마다 지속적으로 CI하게 할 것

4일 전 업로드


git, maven build, poll scm 정하고, ssh 서버 빌드 후 조치 다음과 같이 정한다
->ansible-server에서 저 플레이북 실행해서 CI과정인 Dockerfile 이용해서 이미지 만드는 것
Ansibleserver에서, 도커 로그인 및 도커 실행 필요
docker login -> 이후 도커허브 아이디 비번 입력
systemctl status docker
systemctl start docker


빌드 후 조치에 앞서 만든 item 추가

1. 해당 item은 똑같이, git에서 코드 변경 있을 때, 알아서 git에 있는 소스코드 maven 빌드하고, 젠킨스 workplace에 저장, 이후 이것을 ssh로 copy해서 ansible 서버로 옮기고, ansible서버에서는 playbook 두개 사용하는데, 각 playbook은, kubernetes pc에서 deployment와 service 실행하는것
2. 해당 디플로이먼트는 CI에서 배포한 이미지를 받아서 컨테이너로 실행하고 그것을 pods로 감싼 뒤, 또 디플로이먼트로 감싼것
3. 서비스는 해당 디플로이먼트의 포트를 열어주는 것
-> CI에 연결 된 CD 역할을 하는 item의 빌드 후 조치
둘이 연결할거니, CD부분의 item은 Poll SCM 꺼두자

git 코드 수정 전

git 코드 수정 및 커밋 및 push

곧장 돌아간다


CI 빌드 완료


CD 빌드 완료

서비스까지 적용 완료