Information Security Study
젠킨스와 ansible 연동 후 플레이북 실행하기 본문
젠킨스와 ansible 연동 후 플레이북 실행하기
무중단 배포시 처음 배웠던 publish over ssh 기능을 활용하면
젠킨스에서 스크립트를 날릴 수 있으니 결론적으로는 연동해서 좀 더 편리하게 파이프라인을 구축할 수 있다.
이 경우는 젠킨스는 ansible master에게 명령을 내리고
ansible master가 다시 managed node에 명령을 내리는 식으로 두 단계를 거쳐 수행하게 된다.
이 부분은 젠킨스보다는 ansible쪽에서 그룹지정이나 인스턴스 지정이 용이하기 때문에 빛을 발한다.
같은 인스턴스에 ansible과 jenkins를 설치해서 사용하기도 한다.(이 경우는 localhost가 타겟이 된다.)
먼저 publish over ssh 모듈을 설치한다.
스크립트 전송 세팅이 되었다면 이제 아이템을 생성합니다.
publish over ssh를 사용할 것이라면 freestyle project를 이용한다.
이제 여기에서는 기본적인 리눅스 세팅을 할 것이다.
예를들어 배포를 해야 한다고 가정했을때 java라던지 docker라던지가 기본적으로 깔려있어야 하는데
막상 인스턴스를 만들고 보면 깡통인 우분투이기 때문에 하나하나 설치를 해야 한다.
물론 설치용 셸 스크립트를 만들어 하나하나 돌려도 좋겠지만 그 보다는 젠킨스와 ansible을 조합해서
젠킨스에서 명령을 내리면 ansible에서 관리하는 서버들에 차곡차곡 설치하는 스크립트가 들어가는 것이
제일 편한 방법이다.
이렇게 했을때의 장점은 멱등성이 보장되기 때문에 전체 그룹에서 실제로 업데이트 혹은 설치가 필요한 인스턴스는
설치나 업데이트를 적용받을 수 있고 기존에 이미 설치나 업데이트를 했던 이력이 있는 인스턴스는
실행 타겟에서 빠지기 때문에 결과적으로 별 신경 쓰지 않고도 실행 한 번으로 필요한 만큼만 실행할 수 있다.
그리고 아래 내역은 꼭 젠킨스와 ansible의 조합일 필요는 없지만
젠킨스와 같은 CI/CD 도구를 이용해 앤서블을 사용하는 것의 장점이다.
- 젠킨스 UI/UX로도 플레이북을 관리할 수 있다.
- 앤서블을 전혀 모르는 분들도 젠킨스를 써봤다면 편하게 앤서블을 사용할 수 있다.
- 빌드 이력
- 젠킨스는 모든 배포 기록을 저장한다.
- 배포가 실패하면 언제 / 어떤 파라미터로 발생했는지 정확히 알 수 있다.
- 별도의 이력관리 프로그램을 구성할 필요 없이 젠킨스만으로 앤서블 명령 이력관리가 가능하게 된다.
- 계정 권한 관리
- 앤서블 명령 마다 별도의 권한 관리를 하지 않고 젠킨스에서 관리하면 된다.
- 전체 앤서블 명령의 상태 대시보드
- 젠킨스 대시 보드에는 필요한 최소한의 정보가 한눈에 볼수있게 제공된다.
- 최근 빌드 상태, 최근 수행 시간, 최근 실행 시간 등등을 대시보드에서 확인 가능하다.
- 슬랙 통합
- 젠킨스에서 제공하는 슬랙 플러그인으로 슬랙 연동이 쉽다.
- 앤서블 작업이 시작될 때, 성공할 때, 실패할 때 등등 여러 상황에서 슬랙 채널 공유가 자동화 된다.
'네트워크 캠퍼스 > 3차 프로젝트' 카테고리의 다른 글
ansible galaxy로 원하는 롤, 콜렉션 찾기 (0) | 2024.08.26 |
---|---|
엔서블 플레이북 사용하기 (0) | 2024.08.26 |
앤서블 개요, 환경설정하기 (0) | 2024.08.26 |
ISMS (0) | 2024.08.26 |
failover 동작 원리와 실습하기 (0) | 2024.08.26 |