ubuntu16.04通过Jenkins+shell脚本打包docker镜像并推送到
镜像
实验环境
系统版本:16.04-4.4.0-21-generic
rmit毕业典礼v2.140
18.09.0
v1.5.3(centos7-3.10)
注:由于Harbor是基于Docker Registry V2版本,所以就要求Docker版本不⼩于1.10.0,Docker-compose版本不⼩于1.6.0
v1.6.3(centos7-3.10)
jdk版本:1.8.0_191
实验架构
安装三步曲
第⼀步安装Gogs
Gogs安装git和Gogs源码包
注:安装过程简单,不单独介绍了,不懂可以看上⼀篇⽂章,但是切记⼀定要有java项⽬的源代码,不然Jenkins⽆法通过以下⽅式下拉!第⼆步安装harbor
Harbor安装docker和harbor
注:安装过程简单,不单独介绍了,不懂可以看上⼀篇⽂章
第三步安装Jenkins
1、Jenkins安装docke、jdk、jenkins和maven
注:具体安装⽅式不限,能达到实验效果即可,这⾥我不重复安装Jenkins了,不会的可以⾃⾏百度或者参考以上两篇⽂章,不许需要配置太多,如下图:
2、使⽤Jenkins构建
注:以上截图使⽤密钥认证和http都⾏,建议使⽤密钥!构建完可能会失败,因为配置不全,但是jenkins服务器会出现项⽬⽬录!
3、创建⾃动docker⾃动化⽬录
mkdir /root/.jenkins/workspace/smartloan-bms-dev/docker
mkdir -p /root/.jenkins/workspace/smartloan-bms-dev/docker/{conf,src}
注:这个⽬录⾥主要是为了存储shell⾃动脚本、Dockerfile、国内docker源和Jenkins打包⽣成⽬录!
4、创建shell脚本
vi /root/.jenkins/workspace/smartloan-bms-dev/docker/images.sh
>>####指定解释器和脚本主要作⽤>>###
#!/bin/bash
#maven build war to docker images
>>####赋值java或者xx项⽬⽣成⽬录>>###
base_dir='/root/.jenkins/workspace/smartloan-bms-dev/'
>>####赋值war包或者jar包⽣成⽬录>>###
war_dir="${base_dir}target/"
>>####赋值⽣成的jar包或者war包名称⾏>>####
json使用war_snaphost=awk -F'[<>]' '/warPackageName/ {print $3}' ${base_l
>>####赋值⽣成的jar包或者war包名称>>>##
war_name=echo $war_snaphost | awk -F- '{print $1"-"$2}'
>>####赋值⽣成jar包或者war包的版本>>>##
war_version=echo $war_snaphost | awk -F- '{print $3}'
>>####赋值docker⼯作⽬录>>>>>#
docker_dir="${base_dir}docker/"
>>>赋值ubuntu的docker国内源地址⽬录>>##
docker_conf_dir="${docker_dir}conf/"
>>####赋值镜像存放⽬录>>>>>
docker_src_dir="${docker_dir}src/"
>>>赋值docker环境变量⽬录>>>>#
docker='/usr/bin/docker'
>>>#赋值docker镜像仓库>>>>####
registry='idc/'
>>>#赋值docker镜像仓库项⽬名>>>###
reg_name="feiyu/"
>>>#检查新版本镜像是否存在>>>>
if $docker inspect ${registry}${reg_name}${war_name}:$war_version > /dev/null 2>&1 ;then
/bin/echo "This version already exists , skipping "
shipadoo键盘是杂牌吗exit 1
fi
二郎神之怒天神将>>>创建不存在的⽬录>>>>>##
test -e $docker_dir || mkdir -p $docker_dir
test -e $docker_conf_dir || mkdir -p $docker_conf_dir
test -e $docker_src_dir || mkdir -p $docker_src_dir
>>>#拷贝jar包到指定⽬录>>>####
\cp ${war_dir}$war_snaphost ${docker_src_dir}${war_name}.jar || exit 1
>>>#根据Dockerfile⽣成新镜像>>>
$docker build -t ${registry}${reg_name}${war_name}:$war_version $docker_dir && echo "shell -> docke build done" || exit 1;
>>>#推送镜像到仓库>>>>####
$docker push ${registry}${reg_name}${war_name}:$war_version && echo "shell -> docke push done" || exit 1;
>>>##查看状态>>>>####
echo "shell -> status "$?
5、创建Dockerfile⽂件
vi /root/.jenkins/workspace/smartloan-bms-dev/docker/Dockerfile
###镜像名smartloan-bms-dev
FROM openjdk:8-jre
MAINTAINER wangfeiyu@xingyoucai
###env
ENV TZ=Asia/Shanghai
ENV LANG en_US.UTF-8
###拷贝jar包到指定⽬录
ADD src/smartloan-bms.jar /root/smartloan-bms.jar
###指定⼯作⽬录
WORKDIR /root/
###运⾏命令
CMD java -jar /root/smartloan-bms.jar
6、将Ubuntu系统国内源⽂件放到conf⽬录下
centos和ubuntu
vi /root/.jenkins/workspace/smartloan-bms-dev/docker/conf/sources.list 7、Jenkins修改maven项⽬配置项郑州管控区域图最新

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论