CLOUD/IaC

[Ansible] Playbook - Module 연습

alsruds 2023. 3. 29. 15:36
- hosts: ["server", "db"]
  tasks:
  
    # managed node 에 파일 만들기
  - name: Linux Command
    shell: \
      touch /root/ansible_test
    become: yes

    # 파일에 권한 설정하기
  - name: File Permission
    file:
      path: "/root/ansible_test"
      mode: 0755
    become: yes
    
    # 압축해제하기
  - name: tomcat
    unarchive:
      src: "/root/test/apache-tomcat-9.0.73.tar.gz"
      dest: "/root"
      remote_src: no	# no > 파일이 control node에 존재 / yes > 파일이 managed node에 존재
    become: yes

    # 파일 복사
  - name: FileCopy
    copy:
      src: /root/test/{{ item }}
      dest: /root/{{ item }}
      remote_src: no
    with_items:		# 배열 > 반복문처럼 동작
      - file1
      - file2
    become: yes

    # template module : 일정 부분을 수정해야 할 때 (진자2 문법)
  - name: templateCopy
    template:
      src: /root/test/server.xml.j2
      dest: /root/apache-tomcat-9.0.73/conf/server.xml
      remote_src: no
    become: yes
# tomcat - server.xml
<Connector protocol="AJP/1.3"
address="{{ ansible_all_ipv4_addresses[0] }}"	# 현재 실행하는 컴퓨터 ip
secretRequired="false"
port="8009"
redirectPort="8443" />