理论上是需要多台机器做的,为了省时间就在一台上部署…
一台和多台原理上是一样的,需要几台就加几台机器就可以!!
控制节点操作
将Jdk、Tomcat、Jenkins的安装包上传到ansbile控制节点,我这里上传到/root下。
[root@server ~]# ls /root
apache-tomcat-8.5.45.tar.gz jdk-8u231-linux-x64.tar.gz jenkins.war
下面的是剧本内容:
[root@server ~]# cd /etc/ansible/
[root@server ansible]# vim Auto_dep_Jenkins.yml
- hosts: ansible-web1
user: root
tasks:
#JDK
- name: copy_JDK
copy: src=/root/jdk-8u231-linux-x64.tar.gz dest=/root
- name: tar_JDK
shell: tar -xf /root/jdk-8u231-linux-x64.tar.gz -C /usr/local
- name: change_name
shell: mv /usr/local/jdk1.8.0_231 /usr/local/java
- name: change_PATH
shell: echo 'JAVA_HOME=/usr/local/java' >> /etc/profile
- name: change_PATH
shell: echo 'PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
##Tomcat
- name: copy_tomcat
copy: src=/root/apache-tomcat-8.5.45.tar.gz dest=/root
- name: tar_tomcat
shell: tar -xf /root/apache-tomcat-8.5.45.tar.gz -C /usr/local
- name: change_name
shell: mv /usr/local/apache-tomcat-8.5.45 /usr/local/tomcat
- name: change_startup
shell: sed -ri '1a source /etc/profile' /usr/local/tomcat/bin/startup.sh
#jenkins
- name: copy_jenkins
copy: src=/root/jenkins.war dest=/usr/local/tomcat/webapps/
notify: start_tomcat
handlers:
- name: start_tomcat
shell: nohup /usr/local/tomcat/bin