一键发版多节点

IT
IT
IT
335
文章
1
评论
2020年3月23日01:10:54 评论 1,268 2938字阅读9分47秒

一键

  • 新增多节点一键滚动发版多节点,多个节点间隔25秒。
  • 一键发版新增build pom文件失败时,自动终止。
  • 一键发版是滚动单一节点发版,不是多个节点一起发版。
  • 一键发版时,第一个节点发版失败,不会进行下一个节点发版。
  • 一键发版新增,发版成功后自动打包代码到code仓库功能(自动打tag号提交到code里,如需回滚时,选择tag号自动回滚即可)
  • 一键发版里的tag号,可以在单节点应用上使用。
  • 一键发版弃用单节点,手动回滚功能。
  • 一键回滚时选择最近的p开头tag号回滚即可。
  •  目前生产已改造完。
  • 图中配置文件内容deploy.ymal
---
- hosts: 10.10.0.179
  tasks:
  - name: Close service
    shell: nohup /home/xiaoxin/app/sequence-sdk-starter/bin/spcserv.sh stop
    ignore_errors: true
  - name:  Please wait while the service is closed.
    shell: sleep 15
  - name: Create the code pull directory
    file:
      path: /home/xiaoxin/app/
      state: directory
      mode: '0755'
  - name:  Except target source
    file:
      path: /home/xiaoxin/app/sequence-sdk-starter/lib
      state: absent
  - name:  Delete target source
    file:
      path: /home/xiaoxin/app/sequence-sdk-starter/conf
      state: absent
  - name:  Copy the package configuration file
    copy: src=/var/lib/jenkins/workspace/sequence-sdk/sequence-sdk-starter/target/sequence-sdk-starter.tar.gz dest=/home/xiaoxin/app/
  - name: Push sequence-sdk-starter.tar.gz
    unarchive: src=/home/xiaoxin/app/sequence-sdk-starter.tar.gz dest=/home/xiaoxin/app copy=no
  - name: Remove the tag package
    file:
      path: /home/xiaoxin/app/sequence-sdk-starter.tar.gz
      state: absent
  - name: Start the service
    shell: nohup /home/xiaoxin/app/sequence-sdk-starter/bin/spcserv.sh start
  - name: Get Service status
    uri:
      url: "http://127.0.0.1:8000"
      follow_redirects: none
      method: GET
    register: _result
    until: _result.status == 200
    retries: 5
    delay: 5
- hosts: 10.10.0.180
  tasks:
  - name: Close service
    shell: nohup /home/xiaoxin/app/sequence-sdk-starter/bin/spcserv.sh stop
    ignore_errors: true
  - name:  Please wait while the service is closed.
    shell: sleep 15
  - name: Create the code pull directory
    file:
      path: /home/xiaoxin/app/
      state: directory
      mode: '0755'
  - name:  Except target source
    file:
      path: /home/xiaoxin/app/sequence-sdk-starter/lib
      state: absent
  - name:  Delete target source
    file:
      path: /home/xiaoxin/app/sequence-sdk-starter/conf
      state: absent
  - name:  Copy the package configuration file
    copy: src=/var/lib/jenkins/workspace/sequence-sdk/sequence-sdk-starter/target/sequence-sdk-starter.tar.gz dest=/home/xiaoxin/app/
  - name: Push sequence-sdk-starter.tar.gz
    unarchive: src=/home/xiaoxin/app/sequence-sdk-starter.tar.gz dest=/home/xiaoxin/app copy=no
  - name: Remove the tag package
    file:
      path: /home/xiaoxin/app/sequence-sdk-starter.tar.gz
      state: absent
  - name: Start the service
    shell: nohup /home/xiaoxin/app/sequence-sdk-starter/bin/spcserv.sh start
  - name: Get Service status
    uri:
      url: "http://127.0.0.1:8000"
      follow_redirects: none
      method: GET
    register: _result
    until: _result.status == 200
    retries: 5
    delay: 5

Jenkins建立maven项目配置

一键发版多节点

丢弃旧的构建,输入如下即可

一键发版多节点

配置构建时的分支,如没有Git Paranmeter插件,自行在插件中安装即可。

一键发版多节点

配置代码仓库地址,关于认证,参考博客里的Jenkins结合code

一键发版多节点

Java应用deploy到maven私有仓库,Build是代码中的pom文件构建参数

一键发版多节点

maven编译打包失败后,终止操作,以及打包成功后做代码分发。

一键发版多节点

使用Post build task插件,在发版成功后自动打tag号上传到代码仓库,方便回滚时,直接选择tag号回滚即可。

一键发版多节点

自动打tag号代码

echo "$branch"
master='origin/master'
if [ $branch == $master ]
then
/usr/bin/git tag -a p_$BUILD_NUMBER -m "commit:$GIT_COMMIT"
/usr/bin/git push origin p_$BUILD_NUMBER 
/usr/bin/git tag -d p_$BUILD_NUMBER 
fi
此处为隐藏的内容!
登录后方可查看!
继续阅读
  • 我的QQ
  • QQ扫一扫
  • weinxin
  • 我的头条
  • 头条扫一扫
  • weinxin
IT
  • 本文由 发表于 2020年3月23日01:10:54
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
jenkins项目和插件迁移 Jenkins-install

jenkins项目和插件迁移

迁移插件 一般Jenkins的项目在如下目录中,根据自己的环境信息索取。 # pwd /var/lib/jenkins/plugins 整体打包里面的内容 # tar czvf jenkins.tar...
Jenkins启动报错解决 Jenkins-install

Jenkins启动报错解决

误更新Jenkins权限管理插件,导致Jenkins重启直接报错! 报错内容如下(有部分删减): com.thoughtworks.xstream.mapper.CannotResolveClassE...
Jenkins升级 Jenkins-install

Jenkins升级

如题,Jenkins有新版本提示,该如何升级。 定位jenkins.war文件的安装目录 $ ps -aux | grep jenkins jenkins 19696 0.2 12.7 4692028...