기존에 ansible 옵션을 사용하여 모듈을 사용해봤다.
이번에는 playbook이라는 사전에 만든 스크립트를 통해 간편하게 명령어를 실행할 수 있게 활용해보았다.
playbook.yml 구조
---: 문서 시작을 알림
name: playbook 이름
hosts: 적용시킬 그룹의 이름 or ip address
tasks: 실제 적용시킬 부분
name: 태스크 이름
명령어: 각 명령어에 따른 필요 속성 기재
blockinfile
ansible 서버에서 다음과 같이 /etc/ansible/hosts 경로에 다음 block을 추가하는 playbook을 생성하였다.
현재는 hosts에 devops 그룹만 존재한다.
위 playbook을 실행시켜보자
이처럼 기존에는 없던 mygroup이 추가되었음을 확인해볼 수 있다.
Copy
파일 복사
copy 명령어를 통해 외부 서버로 파일을 복사해 보았다.
먼저 외부 서버에는 test.txt만 존재한다. ansible서버에서 sample.txd를 만들어 복사해보자.
Ansible 서버의 파일 확인
copy를 위한 playbook 작성
playbook 실행 후 복사된 파일 확인
file
파일 생성 및 다운로드
폴더를 생성하여 해당 폴더에 톰캣을 설치하는 playbook
지정 하려는 호스트 모두 /opt 경로가 없음을 확인 할 수 있다. 실행 후에는 디렉토리가 생성되고 해당 경로에 톰캣9가 설치되어 있을 것이다.
정상적으로 실행됐다면 지정한 path에 톰캣 파일이 있을 것이다.
'DevOps' 카테고리의 다른 글
minikube를 통한 docker hub 이미지 다운로드 및 배포 (0) | 2023.08.09 |
---|---|
jenkins + Ansible playbook + docker hub를 통한 빌드 및 배포 (0) | 2023.08.04 |
[Ansible] Ansible 모듈 사용하기 (1) | 2023.07.29 |
ssh-keygen을 통해 키없이 외부서버 접근하기 (0) | 2023.07.28 |
Jenkins + Docker + Tomcat을 통한 외부서버에 빌드 및 배포 (1) | 2023.07.27 |