* <强>环境:强>
CentOS7
代码仓库:Gitlab
持续集成代码更新:詹金斯
构建打包:Maven
镜像自动交付脚本:壳牌
基础环境软件安装:Gitlab,詹金斯,Maven配置,安装参考网上,这里安装略,重点介绍项目持续集成和镜像交付。
结合上一博文:https://blog.51cto.com/10874766/2353577
这里配置了两个基础服务容器的自动化构建,一个常规业务服务容器的自动化构建,其他的容器服务持续集成类似操作,这不做重复操作。
* <>强创建基础持续集成项目配置强>
1.1创建自由风格的软件项目工作,创建config-tmp-release
1.2创建maven项目工作,创建基础项目config-tmp-ms
1.3配置config-tmp-ms基础项目
基于jdk8,配置config-tmp-ms项目Git代码仓库源,并选取释放分支。
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 +壳自动化构建实施案例