当前位置: 首页 > article >正文

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 }}"

构建步骤填写如下

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 选项参数名称用 ${} 符号引用


http://www.kler.cn/a/411349.html

相关文章:

  • 44.扫雷第二部分、放置随机的雷,扫雷,炸死或成功 C语言
  • 快速理解微服务中Gateway的概念
  • C++设计模式之组合模式中适用缓存机制提高遍历与查找速度
  • Spring源码(十三):Spring全系列总结
  • uniapp vue2项目迁移vue3项目
  • 常用Rust日志处理工具教程
  • ReentrantLock(可重入锁) Semaphore(信号量) CountDownLatch
  • Windows下安装FreeSurfer教程
  • Linux进程信号保存/操作系统运行原理
  • 【第三讲】Spring Boot 3.4.0 新特性详解:增强的配置属性支持
  • 无人机:智能航点规划技术!
  • jQuery-Json-AJAX-跨域
  • 【前端】javaScript
  • Excel与PPT:职场两大软件的应用比拼
  • 调用 AWS Lambda 时如何传送字节数组
  • 关于IDE的相关知识之三【插件安装、配置及推荐的意义】
  • Python语法基础(一)
  • 【C++】C++的nullptr和NULL
  • vue的理解
  • 鸿蒙学习自由流转与分布式运行环境-价值与架构定义(1)
  • 【C++】顺序容器(二):顺序容器操作
  • C++11新特性探索:Lambda表达式与函数包装器的实用指南
  • 极狐GitLab 17.6 正式发布几十项与 DevSecOps 相关的功能【四】
  • STM32中I2C总线中,允许从机控制SCL总线吗?
  • uname -m(machine) 命令用于显示当前系统的机器硬件架构(Unix Name)
  • 什么是 C++ 中的多继承?它有哪些优缺点?什么是虚继承?为什么要使用虚继承?