ansible-playbook 通过yml文件进行操作,本次是通过shell命令直接执行git,这样最简单实现,看目的,本次目的就是不去每一个服务器去拉代码,可以配合jenkins一键部署
创建一个test_shell.yml
hosts: hosts文件中服务器分组名称
remote_user 登陆用户名
become 是使用root权限
shell中chdir 目标目录 cmd 执行的shell命令
register 储存结果
debug 将结果打印展示
项目启动或者重启,这里使用shell脚本去实现
---
- hosts: test
remote_user: ubuntu
become: True
become_method: sudo
tasks:
- name: pull
shell:
chdir: /user/dev/test
cmd: 'git pull'
register: pull_res
- debug:
var: pull_res.stdout_lines
- name: restart
shell: ./retsart.sh
register: restart_res
- debug:
var: restart_res.stdout_lines
执行 ansible-playbook test_shell.yml
部分成功结果
语法错误会有对应提示,按照位置去改就行
jenkins加ansible-playbook集成
这里需要对jenkins有一定的了解,安装插件
全局设置中找到ansible 并配置 一般在下边
新建项目或者原有项目中构建(build)
选择ansible playbook (ansible ad-hoc command 是通过命令行执行而不是yml文件本次不做讨论)
对应配置
保存并应用
执行查看结果
使用指定hosts文件