前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ansible+jenkins发布优化

ansible+jenkins发布优化

作者头像
@凌晨
发布2022-01-12 14:46:17
3610
发布2022-01-12 14:46:17
举报
文章被收录于专栏:Man_Docker

通过ansible的一个脚本,实现所以自动化发布。好处就是不要为每个项目编写一个yaml脚本。 配置一、都是写成变量的形式传入

代码语言:javascript
复制
cat playbook-standard.yaml 
---
- hosts: '{{host}}'
  tasks:
    - name: '{{command_1}}'
      shell: '{{command_1}}'
    - name: '{{command_2}}'
      shell: '{{command_2}}'
    - name: scp files
      copy:
        src: /home/jenkins/workspace/{{job_name}}/target/{{tar_name}}
        dest: '{{target_name}}'
    - name: '{{command_3}}'
      shell: '{{command_3}}'
    - name: '{{command_4}}'
      shell: '{{command_4}}'
    - name: '{{command_5}}'
      shell: '{{command_5}}'

配置二,这边是配置在jenkins上的Execute shell中来调取 playbook-standard.yaml脚本

代码语言:javascript
复制
target2=`echo "$target"|sed 's/\"//g'` 

#日期
bak_time=`date +%Y%m%d-%H%M`

#发布的压缩包
tar_name="-assembly.tar.gz"

#目标目录
file_name="aaa-op-all"

#启动命令
file_name2="aaa-op-all-1.0.1"

#部署的目标路径
target_name="/data/java/deploy"

#执行的命令1、2是传包前执行的命令3、4、5传包后执行的命令

command_1="cd $target_name/ && tar -zcvf bak/$file_name-$bak_time.tar.gz $file_name"
command_2="cd $target_name/ && rm -rf $tar_name"

command_3="cd $target_name && rm -rf $file_name && tar -xzvf $tar_name && sleep 5 && mv $file_name2 $file_name"
command_4="source /etc/profile && nohup sh $target_name/$file_name/bin/restart.sh >> /dev/null 2>&1 &"
#检测脚本
command_5="/aaa/op-all-log.sh"   

#ansible执行程序

for target in $(echo $target2 | sed "s/,/ /g")
do

    cd /home/jenkins/workspace/ansible && ansible-playbook playbook-standard.yaml --extra-vars "{'host':'$target', 'job_name':'$JOB_NAME', 'tar_name':'$tar_name', 'target_name':'$target_name', 'command_1':'$command_1', 'command_2':'$command_2', 'command_3':'$command_3', 'command_4':'$command_4', 'command_5':'$command_5'}"

done
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/09/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档