Ansibleで構築対象サーバにTomcatをインストールするのですが
下記の自作playbook(正常に動作することを確認済)に
2つほど条件を追加したいです。
OSはAnsible操作端末も構築対象サーバもCentOS7です。
①設定ファイル(tomcat.serviceとtomcat-userファイル)を外部ファイルにしたいです。ファイルとして外出ししてplaybookでこれらを読み込んで実行する形にしたいです。
②複数台のサーバに対して制御してインストール出来るようにしたいです。イメージとしてはサーバA(192.168.100.251)、B(192.168.100.252)、C(192.168.100.253)とあって、playbookを実行したらAとCだけにTomcatがインストールされるような感じにしたいです。
YAML
1- hosts: 192.168.100.251 2 remote_user: root 3 become: true 4 tasks: 5 - name: correct java version selected 6 alternatives: 7 name: java 8 path: /usr/java/jdk1.8.0_202-amd64/jre/bin/java 9 10 - name: add tomcatuser 11 user: 12 name: tomcat 13 shell: /sbin/nologin 14 15 - name: get_installer 16 get_url: 17 url: https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.76/bin/apache-tomcat-7.0.76.tar.gz 18 dest: /tmp/ 19 become: yes 20 become_user: root 21 22 - name: copy 23 command: cp -p /tmp/apache-tomcat-7.0.76.tar.gz /usr/local/ 24 25 - name: install 26 unarchive: 27 src: /usr/local/apache-tomcat-7.0.76.tar.gz 28 dest: /usr/local 29 remote_src: yes 30 become: yes 31 become_user: root 32 33 - name: Firewall 34 firewalld: 35 port: 8080/tcp 36 permanent: yes 37 immediate: yes 38 state: enabled 39 become: yes 40 41 - name: Change file ownership, group and permissions 42 file: 43 path: /usr/local/apache-tomcat-7.0.76 44 owner: tomcat 45 group: tomcat 46 recurse: yes 47 state: directory 48 49 - name: make tomcat symbolic 50 file: 51 src: /usr/local/apache-tomcat-7.0.76 52 dest: /usr/local/tomcat7 53 owner: tomcat 54 group: tomcat 55 state: link 56 57 - name: make tomcat.service 58 file: 59 path=/etc/systemd/system/tomcat.service 60 state=touch 61 62 - name: edit tomcat.service 63 blockinfile: 64 dest: /etc/systemd/system/tomcat.service 65 insertafter: 66 block: | 67 [Unit] 68 Description=Apache Tomcat 7 69 After=syslog.target network.target 70 71 [Service] 72 User=tomcat 73 Group=tomcat 74 Type=oneshot 75 PIDFile=/usr/local/apache-tomcat-7.0.76/tomcat.pid 76 RemainAfterExit=yes 77 78 ExecStart=/usr/local/apache-tomcat-7.0.76/bin/startup.sh 79 ExecStop=/usr/local/apache-tomcat-7.0.76/bin/shutdown.sh 80 ExecReStart=/usr/local/apache-tomcat-7.0.76/bin/shutdown.sh;/usr/local/apache-tomcat-7.0.76/bin/startup.sh 81 82 [Install] 83 WantedBy=multi-user.target 84 85 - name: chmod 755 tomcat.service 86 file: 87 path=/etc/systemd/system/tomcat.service 88 mode=0755 89 90 - name: edit tomcat-users.xml 91 blockinfile: 92 dest: /usr/local/apache-tomcat-7.0.76/conf/tomcat-users.xml 93 insertafter: <tomcat-users> 94 block: | 95 <role rolename="admin-gui"/> 96 <role rolename="manager-gui"/> 97 <user username="tomcat" password="P@ssw0rd123" roles="admin-gui,manager-gui"/> 98 99 - name: start tomcat 100 systemd: 101 name: tomcat.service 102 state: started 103 daemon_reload: yes 104 enabled: yes 105 become: yes
ご教示宜しくお願い致します。
下記Oracle JDKインストール用
YAML
1- hosts: tomcat 2 gather_facts: no 3 remote_user: root 4 become: true 5 tasks: 6 - name: create target dir. 7 file: path=/root/soft state=directory 8 - copy: 9 src=/tmp/jdk-8u202-linux-x64.rpm 10 dest=/root/soft/jdk-8u202-linux-x64.rpm 11 owner=root 12 group=root 13 mode=0644 14 - name: install JDK 14 from a local file 15 yum: name=/root/soft/jdk-8u202-linux-x64.rpm state=present
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/29 05:49
2020/05/29 07:45
2020/05/31 13:22
2020/05/31 13:25
2020/06/01 00:51
2020/06/01 02:58
2020/06/01 08:52