[CI/CD] Ansible이 설치된 Jenkins Docker Container 만들기 Develop Tip

Jenkins는 이제 DevOps 에 있어 빠져서는 안될 중요한 자리를 잡고 있습니다.

계획 > 개발 > 개발자테스트(단위테스트) > 릴리즈(컨테이너라이즈) >릴리즈 테스트 > 배포(오케스트레이션) > 배포테스트 > 운영 (모니터링) > 계획

과 같은 쳇바퀴에서 빠질 수 없는 역할을 합니다.
각각의 항목에 대해 워크플로우를 지정하여 놓으면,
소스가 수정되어 준비되면 자동 트리거링 되어 빌드를 하고 빌드가 실패하면
메일, 슬랙, 텔레그램 등으로 알람을 보내고,
성공하면 다음과정인 릴리즈를 하는 등이지요.

계속하여 성공하면 다음과정 다음과정으로 진행됩니다.
궁극적으로는 어떻게 개발할까 고민하고 실제 코딩을 해 놓으면
(단위 테스트 등의 상세 테스트 코드까지는 작성해야 합니다)
나머지 과정은 거의 대부분 자동화를 해 놓는 것이지요.

이렇게 하는데 젠킨스가 80,90% 이상을 담당하게 할 수 있습니다.
그런데 젠킨스는 한가지 빌드하는 컴퓨터에 설치되어 있어야 했습니다.
그래야만 해당 시스템에 build 시키는 명령을 내리니까요.

그런데 만약 빌드할 시스템이 여러대고, 테스트 머신도 많고,
배포는 더더욱 많다면 다른 릴리즈 배포 개념의 소프트웨어가 필요합니다.
저는 앤시블 (ansible)을 애용하므로 앤시블을 사용하고자 합니다.

자.. 이제 젠킨스 컨터에너는 jenkinsci/jenkins 라는 곳에 있습니다.
처음에 library/jenkins 라는 디폴트 다커라이브러리의 것을 가져다 이용했더니
제대로 돌지 않더군요.

암튼 ansible을 위의 젠킨스 이미지 위에 만들어 보았습니다.

소스를 참조하시면 됩니다.

제대로 ESXi 를 이용한 CI/CD 환경이 갖추어지는 데로 책을 하나 써 볼까 하는 생각이 드네요..


어느 분께는 도움이 되셨기를..

핑백

덧글

댓글 입력 영역

구글애드텍스트