Jenkins-Ansible 插件相关用法

1. ansible-hoc 单条命令的实现

调用 shell 模块,构建步骤填写如下

运行任务,查看执行结果是否正确返回 webservers 主机的 hostname
inventory 部分也可以直接选择 Inline content 选项填写文件内容


调用 file 模块,构建步骤填写如下

运行任务,在 webservers 主机上查看 test.log 文件是否生成

2. ansible-playbook yml文件的实现

获取目标主机的的 ip,并将返回的结果存储在 result 变量中

root@jenkins \~\]#**vim /data/jenkins/test.yml** - hosts: webservers remote_user: root tasks: - name: excute cmd shell: cmd: hostname -I register: result - name: show result debug: msg: "{{ result }}" 构建步骤填写如下 ![](https://i-blog.csdnimg.cn/direct/780d6ba85ce64177a4b1b975bed51739.png)

3. 实现多环境部署

yml 文件如下

root@jenkins ansible\]#**vim /data/jenkins/test.yml** - hosts: webservers remote_user: root tasks: - name: excute cmd shell: cmd: hostname -I register: result - name: show result debug: msg: "{{ result }}" hosts 文件如下 \[root@jenkins ansible\]#**vim test-hosts** \[webservers

10.0.0.202 ansible_ssh_user=root

10.0.0.203 ansible_ssh_user=root

root@jenkins ansible\]#**vim product-hosts** \[webservers

10.0.0.205 ansible_ssh_user=root

10.0.0.206 ansible_ssh_user=root
选择参数,定义变量名称,并添加不同环境 hosts 选项


构建步骤填写如下,host list 使用选项名称使用 $ 符号引用变量

4. 实现 ansible-playbook 参数化

yml 文件如下

root@jenkins ansible\]#**vim /data/jenkins/test.yml** - hosts: "**{{ ansible_hosts }}** " remote_user: root tasks: - name: excute cmd shell: cmd: hostname -I register: result - name: show result debug: msg: "{{ result }}" hosts 文件如下 \[root@jenkins ansible\]#**vim hosts-test** \[webservers

10.0.0.202 ansible_ssh_user=root

appservers

10.0.0.203 ansible_ssh_user=root

root@jenkins ansible\]#**vim hosts-product** \[webservers

10.0.0.205 ansible_ssh_user=root

appservers

10.0.0.206 ansible_ssh_user=root

添加第一个选项参数


添加第二个选项参数


构建步骤填写如下


高级选项填写如下,key 是 ansible host 文件中的 hosts 变量,value 选项参数名称用 ${} 符号引用

相关推荐
果子⌂2 分钟前
PostgreSQL --数据库操作
linux·数据库·postgresql
倔强的石头10641 分钟前
【Linux指南】文件系统基础操作与路径管理
linux·运维·服务器
中科三方2 小时前
如何通过DNS解析实现负载均衡?有哪些优势?
运维·负载均衡
安科瑞刘鸿鹏2 小时前
双碳时代,能源调度的难题正从“发电侧”转向“企业侧”
大数据·运维·物联网·安全·能源
小呆瓜历险记2 小时前
ubuntu 22.04搭建SOC开发环境
linux·运维·ubuntu
码农101号2 小时前
Linux中shell流程控制语句
linux·运维·服务器
ajassi20002 小时前
开源 java android app 开发(十二)封库.aar
android·java·linux·开源
聪明小萝卜2 小时前
无法与IP建立连接,未能下载VSCode服务器
运维·服务器
JuiceFS2 小时前
深度解析 JuiceFS 权限管理:Linux 多种安全机制全兼容
运维·后端
暗夜潜行2 小时前
ubuntu + nginx 1.26 + php7.4 + mysql8.0 调优
linux·运维·ubuntu