我们平时会遇到程序批量部署的问题,比如一个同样的应用程序,需要部署到10台或者更多的服务器上。
那么ansible可以帮我们解决程序批量部署问题,以下是ansible启动java springboot项目的基础命令
1、批量复制程序到多个服务器
src指的是要复制的文件路径
dest指的是要复制到的目标路径
ansible collecter -m copy -a "src=/home/collecter dest=/home/"
2、启动springboot程序
ansible collecter -m shell -a "sh /home/collecter/startup.sh >>nohup.out chdir=/home/collecter"
这里贴一下,springboot程序的sh脚本
#!/bin/bash
export JAVA_HOME=/opt/jdk1.8.0_191
export java=${JAVA_HOME}/bin/java
export nohup=/usr/bin/nohup
$nohup $java -server -Xms800M -Xmx1800M -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -jar /home/collecter/collecter.jar &
3、批量杀掉java进程
ansible collecter -m shell -a "ps -ef | grep java | grep -v grep |awk '{print $2}' | xargs kill -9"