ansible+jenkins实现生产环境自动发布部署


如果你还没有安装ansible或对ansible playbook不熟,请看下面两篇文章
自动化工具 ansible安装和常用模块汇总
ansible playbook 企业实战案例分享

接下来正式开始

ansible设置

因为我ansible机器和要部署的服务器在同一个网段,采用内网部署

1、机器信息:
在这里插入图片描述
2、远程执行用户:(ansible机器并没有开通外网哦,当然你也可以外网呀)
在这里插入图片描述
3、ansible hosts分组
ansible hosts分组

3、ansible用到的两个重要角色

/etc/ansible/hosts      #hosts文件定义主机与和执行权限
/etc/ansible/roles       #roles是任务集合,可在roles下面新建多模块,如tomcat,jdk、yum源,防火墙等,分角色方便管理且灵活

jenkins配置ansible全局属性

系统管理–>lobal Tool Configuration–>Ansible
jenkins ansible
jenkins install ansible
jenkins install ansible

Jenkins新建-自由分格项目

项目名称:lbbs
Svn配置:
地址:svn://172.17.103.10:3391/lbproject/bs/

jenkins添加构建步骤

1)、增加构建后的操作–>Invoke Ansible Playbook,
备注:Ad-Hoc Command 调用执行 ansible命令的
jenkins ansible playbook

Playbook path:/etc/ansible/roles/lbbs/lbbs.yml #该路径为ansible的roles)
Inventory:选择File or host list File path or comma separated host list:/etc/ansible/hosts (备注:该路径为ansible的hosts文件)
Hostsubset:lbbs (备注:此处为hosts文件中ip或者定义的主机组都行
[root@lbzpf bs]# cat /etc/ansible/roles/lbbs/tasks/main.yml
- name: copy package to 103.111 
  copy: 
    src={{ src_path }}/103.111/ne-ops-1.0.0.war
    dest={{ dest_path }}   
    backup=yes  #开启远程备份,在远程主机/ane/update下备份
  when: "ansible_nodename == 'lb_bs1' and ansible_eth0.ipv4.address == '172.17.103.111'"   #条件判断 
- name: copy package to 103.32 
  copy:
    src={{ src_path }}/103.32/ne-ops-1.0.0.war
    dest={{ dest_path }}
    backup=yes
  when: "ansible_nodename == 'bs-web04' and ansible_eth0.ipv4.address == '172.17.103.32'"

备注:加when条件判断原因是:war包里有个文件引用了当前的主机ip,先这样设置了

[root@lbzpf bs]# cat  /etc/ansible/roles/lbbs/vars/main.yml   #vars定义了上面用到的两个变量路径
src_path: /var/lib/jenkins/workspace/lbbs    #源路径
dest_path: /ane/update   #目标路径

在这里插入图片描述

将写好的 ansible playbook引入 jenkins

2)、增加构建后的操作–>(Invoke Ansible Ad-Hoc Command)
jenkins ansible build

jenkins ansible

jenkins ansible

jenkins调用 ansible发布代码

1、Jenkins中点击立即构建
jenkins ansible build
2、检查执行结果
ansible playbook
3、
ansible playbook
此时就已经部署好了

ansible playbook综合使用案例

使用 ansible 一键安装kubernetes+containerd+calico集群

  • 49
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛溪博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值