[Jenkins] Ansible Playbook

seopppio·2024년 12월 19일

Jenkins

목록 보기
13/25
post-thumbnail

기존 엔서블 모듈로, 연결된 서버에 작업을 했다면, 미리 사용자가 원하는 행동을 작성해놓은 파일을 Ansible Playbook 이라고 한다

name : 플레이북 이름 정의
hosts : 적용시키고자 하는 그룹 이름
task : hosts에 적어둔 타겟에 어떤 내용을 적용할지, 여러가지 작업 가능
name : 작업 이름
blockinfile : 실질적인 작업 추가
path : 어떤 파일에 추가할지
block : | 꼭 작성해줘야함, 하단 2줄 추가할것

실습


명령어가 ansible-playbook, yml 파일 작성

---
  - name: Add an ansible hosts
    hosts: localhost
    tasks:
      - name: Add a ansible hosts
        blockinfile:
          path: /etc/ansible/hosts
          block: |
            [mygroup]
            172.17.0.5

ansible 서버에서, vi first-playbook.yml 하고, 위 내용 작성

이후 ansible-playbook 명령어로 해당 야믈파을 실행


Ansible Playbook 예제 - 파일 복사

- 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 있어야한다

hosts에 있는 devops들에게만 파일 복사가 잘 완료 되었다고 한다


엔서블 서버

도커 서버
=> 모두 sample.txt 잘 복사 되었다

Ansible Playbook 예제 - 다운로드

---
---
- name: Download Tomcat9 from tomcat.apache.org
  hosts: devops
  #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.98/bin/apache-tomcat-9.0.98.tar.gz.sha512
       dest: /opt/tomcat9/apache-tomcat-9.0.98.tar.gz.sha512
   - name: Register the checksum value
     shell: cat /opt/tomcat9/apache-tomcat-9.0.98.tar.gz.sha512 | grep apache-tomcat-9.0.98.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.98/bin/apache-tomcat-9.0.98.tar.gz
       dest: /opt/tomcat9
       mode: 0755
       checksum: sha512:{{ tomcat_checksum_value.stdout }}"
~                                                                  

디렉토리 만들고, checksum 레지스터하고, tomcat tar파일 다운


0개의 댓글