Linux系统ansible自动化运维示例
环境准备
pip install ansible
vi /etc/ansible/ansible.cfg: 修改端口(remote_port )及密钥(private_key_file)
vi /etc/ansible/hosts 修改指定服务器分组的IP
验证
执行简单的命令:
ansible 服务器分组 -m command -a 'uptime' : uptime
本地文件复制到远程机器上:src:本地文件 dest:远程服务器目录,示例如下
ansible storm_cluster -m copy -a "src=/etc/ansible/ansible.cfg dest=/tmp/ansible.cfg owner=root group=root mode=0644" :
CI/CD部署中使用ansible,构建yml文件,示例如下
---
- hosts: XXXXXXX
user: XXXXX
tasks:
- name: 删除jar包到目标机器(如果存在)
shell: rm -rf /data/renren-fast.jar
ignore_errors: true
- name: 拷贝jar包到目标机器
copy: src=./target/renren-fast.jar dest=/data/renren-fast.jar owner=root group=root mode=0755
- name: 关闭renrenfast进程
shell: ps -ef | grep renren-fast | grep jar | grep -v grep | awk '{print $2}' | xargs kill -9
ignore_errors: true
- name: 后台启动renren_fast
shell: nohup java -jar /data/renren-fast.jar >> /data/output.log 2>&1 &
async: 20
poll: 5