码头工人微服务詹金斯+ Gitlab + Maven +壳自动化构建实施案例

  

* <强>环境:
CentOS7
代码仓库:Gitlab
持续集成代码更新:詹金斯
构建打包:Maven
镜像自动交付脚本:壳牌

  

基础环境软件安装:Gitlab,詹金斯,Maven配置,安装参考网上,这里安装略,重点介绍项目持续集成和镜像交付。
结合上一博文:https://blog.51cto.com/10874766/2353577
这里配置了两个基础服务容器的自动化构建,一个常规业务服务容器的自动化构建,其他的容器服务持续集成类似操作,这不做重复操作。

  <人力资源/>   

* <>强创建基础持续集成项目配置

  

1.1创建自由风格的软件项目工作,创建config-tmp-release
奥胪饭と宋⒎裾步鹚?

  

1.2创建maven项目工作,创建基础项目config-tmp-ms
码头工人微服务詹金斯+ Gitlab + maven +壳自动化构建实施案例

  

1.3配置config-tmp-ms基础项目
基于jdk8,配置config-tmp-ms项目Git代码仓库源,并选取释放分支。
码头工人微服务詹金斯+ Gitlab + Maven +壳自动化构建实施案例“> <br/>配置关联项目config-tmp-release: <br/> <img src=

  

1.4配置脚本
项目jar包同步脚本:/home/jenkins docker-tmp/脚本/rsync。sh config-tmp-ms配置服务

  
 <代码>猫/home/jenkins/docker-tmp/script/rsync.sh
  # !/bin/bash
  ip=10.1.1.1 #码头工人tmp服务器
  passwd=* * * * * *
  rsync -vzrtopg——numeric-ids——发展——密码文件=/etc/rsyncd。password6/home/jenkins/.jenkins/workspace/1/目标/alaxiaoyou - 2-0.0.1-SNAPSHOT美元。jar root@ $ ip:: 1美元
  预计/home/jenkins/docker-test/脚本/形象。exp ip passwd美元$ 1 $ 2 $ 3  
  

其中config-tmp-ms必须跟项目名工作称一样,1美元为此项目名工作称“config-tmp-ms”,为2美元此项目代码git@gitlab.alaxiaoyou.com: xxx/alaxiaoyou-config-service.git提供者:配置服务。目的是自动替换各个提供者配置。

  

期待脚本远程触发牧场主服务器上脚本:/home/jenkins/docker-pro/script/image.exp

  
 <代码>猫/home/jenkins/docker-pro/script/image.exp
  #?usr/bin/expect - f
  设置ipaddress lindex $ argv [0]
  设置密码lindex $ argv [1]
  设置msname lindex $ argv [2]
  设置msnameb lindex $ argv [3]
  
  产卵ssh name@ ipaddress美元;
  预计“密码:”;
  发送“passwd \ r美元”;
  预计“#”
  发送“sudo nohup/数据/码头工人/布局脚本/pro-all。,sh msname msnameb比美元的在/数据/码头工人/日志/msname美元。日志和\ r”
  预计eof{退出1} 
  

牧场主服务器服务器上脚,本构建,推送推到阿里镜像仓库:/数据/码头工人/布局脚本/pro-all.sh

  
 <代码> # !/bin/bash
  namems=1美元
  namemsb=2美元
  最新版本=msrepo=/数据/码头工人/1美元
  imgrepo=xmbaby
  imgname=1美元
  
  如果[!- d $ msrepo];然后
  
  mkdir - p msrepo美元
  
  scp jenkins@10.1.1.1: ~/.jenkins/workspace/1/目标/alaxiaoyou - 2-0.0.1-SNAPSHOT美元。jar msrepo美元
  回声“[$ namems]”在祝辞/etc/rsyncd.conf
  回声“路径=/数据/码头工人/namems美元/"祝辞祝辞/etc/rsyncd.conf
  回声“评论=更新
  忽略错误
  读alt="码头工人微服务詹金斯+ Gitlab + Maven +壳自动化构建实施案例"> 

  

构建config-tmp-release项目,此项目执行完成后,自动构建关联的下级项目config-tmp-ms, config-tmp-ms项目会詹金斯中自动拉取最新代码,触发rsync同步脚本,rsync脚本里触发码头工人镜像构建和推动操作.Jenkins最终构建完成后,即可将镜像仓库拉取最新交付的镜像。

  <人力资源/>   

* <>强创建基础持续集成项目网关

  

2.1创建自由风格的软件项目工作,创建gateway-tmp-release
奥胪饭と宋⒎裾步鹚?

  

2.2创建maven项目工作,创建基础项目gateway-tmp-ms

码头工人微服务詹金斯+ Gitlab + Maven +壳自动化构建实施案例