티스토리 뷰
PlayBook란?
first-playbook.yml을 작성한뒤 ansible-playbook (yml파일명) 으로 작성
block에는 무조건 | 입력되고 그룹을 적어주셔야합니다.
실습
글자 추가하기
yml 생성
vi로 yml파일 작성하기
vi first-playbook.yml
---
- name : Add an ansible hosts
hosts : localhost
tasks :
- name: Add an ansible hosts
blockinfile:
path: /etc/ansible/hosts
block : |
[mygroup]
172.17.0.5
위와같이 작성해줍니다 아직 5번 ip는없지만 나중에 사용할것이니 만들어줄게요
작성하고 :wq!로 나와줍니다.
playbook사용
잘 됬다는 확인문구가 보인다면 성공
확인
cat로 파일내용을 출력하여 밑과같이 뜬다면 잘 입력된겁니다.
역등성 테스트
8번글에서 역등성을 언급한적이있다 echo로 글자를 추가하면 같은 명령이라도 추가되는 모습이었는데 위와같이
ansible-playbook을 이용한다면 어떻게 될까
위 에서 한번 추가한 결과물에 또 똑같은 명령어를 실행해보았다
성공했다는 문구가 나왔고 결과를 확인해보니
같은 문구가 또 추가되지 않은 모습을 확인할 수 있다.
파일 복사하기
sample.yml 만들어주기
vi playbook-sample.yml
vi모드에서 밑과같이 입력해줍니다.
- name: Ansible Copy Example Local to Remtoe
hosts: devops
tasks:
- name: copying file with playbook
copy:
src: ~/sample.txt
dest: /tmp
owner: root
mode: 0644
이제 복사해줄 sample.txt를 만들어줘야겠죠 전에 사용했던 test.txt를 복사하겠습니다.
cp test.txt sample.txt
test.txt를 sample.txt라는 이름으로 복사하겠습니다.
*.txt로 txt파일만 조회해보니 잘 생성되었습니다.
ansible-playbook playbook-sample.yml 로 실행
각각 ls -l /tmp 확인해보니 잘 복사가 되어 넘어온 모습이다.
다운로드
yml작성
vi playbook-sample2.yml
밑의 내용 모두 넣어줍니다.
---
- name: Download Tomcat9 from tomcat.apache.org
hosts: all
#become: yes
# become_user: root
tasks:
- name: Create a Directory /opt/tomcat9
file:
path: /opt/tomcat9
state: directory
mode: 0755
- name: Download the Tomcat checksum
get_url:
url: https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.75/bin/apache-tomcat-9.0.75.tar.gz.sha512
dest: /opt/tomcat9/apache-tomcat-9.0.75.tar.gz.sha512
- name: Register the checksum value
shell: cat /opt/tomcat9/apache-tomcat-9.0.75.tar.gz.sha512 | grep apache-tomcat-9.0.75.tar.gz | awk '{ print $1 }'
register: tomcat_checksum_value
- name: Download Tomcat using get_url
get_url:
url: https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.75/bin/apache-tomcat-9.0.75.tar.gz
dest: /opt/tomcat9
mode: 0755
checksum: sha512:{{ tomcat_checksum_value.stdout }}"
Create a Directory에서 tomcat이들어갈 폴더를 생성해주고
Download Tomcat using get_url에서 다운로드를 실행하게 됩니다.
playbook실행
ansible-playbook playbook-sample2.yml
결과
'CI CD > JenKins' 카테고리의 다른 글
Jenkins(Windows) 12 Ansible연동 playbook사용해보기(poll SCM) (0) | 2023.06.21 |
---|---|
Jenkins(Windows) 11 Ansible 연동 (0) | 2023.06.21 |
Jenkins(Windows) 9 ansible 모듈 사용해보기 ansible다운받는법 (0) | 2023.06.20 |
Jenkins(Windows) 8 ansible key생성 ansible 기본 명령어 (0) | 2023.06.20 |
Jenkins(Windows) 7 docker ansible 설치 실행(ncurses) (0) | 2023.06.20 |