Jenkins+docker+gitlab+nexus3+registry持续集成( docker微服务送死之路1.0终版)

目标:本地打包推到nexus3私有仓库,Jenkins拉取依赖库自动构建镜像并推送到远端registry镜像私有仓库,docker拉取镜像部署到容器服务

1 本地打包推到nexus3私有仓库

jar包上传到私有仓库

2 gitlab上创建一个或者多个branch

项目管理平台多个项目、分支

3 Jenkins拉取依赖库自动构建镜像并推送到远端registry镜像私有仓库

私有仓库镜像列表

参考博客 https://blog.csdn.net/jinking01/article/details/84998892
https://blog.csdn.net/jinking01/article/details/85100065

3.1 gitlab管理项目源码 √

jenkins与gitlab集成 √
(1)安装git和gitlab插件
GitLab
GitLab Logo
Gitlab Authentication
(2)配置GitLab插件
gitlab创建Jenkins用户并授权管理员及项目所有者
jenkins创建自由风格的构建项目
将gitlab的源码纳入管理

【注】注意可能出现下面错误:
Failed to connect to repository : Command “git ls-remote -h http://192.168.1.100:3030/clound-shop-develop/ci-demo.git HEAD”
returned status code 128:
stdout:
stderr: fatal: Authentication failed for ‘http://192.168.1.100:3030/clound-shop-develop/ci-demo.git/’
Error: server certificate verification failed. CAfile:
/etc/ssl/certs/ca-certificates.crt CRLfile: none
无可用证书,稍后配置

4 docker拉取镜像部署到容器

4.1 自由风格Jenkins构建项目配置

  1. 打包命令
    mvn -Dmaven.test.skip=true package -P test
  2. 复制jar包及Dockerfile到构建目录
    cp ./target/ci-demo-1.0.1-bugfix.jar ./Dockerfile /usr/local/app docker build /usr/local/app/ -t ci-demo:latest
  3. 推送到远端仓库
    docker tag ci-demo 192.168.1.100:5000/ci-demo``docker push 192.168.1.100:5000/ci-demo`
  4. 启动容器
    docker run -p 8080:8080 ci-demo

【执行mvn命令出错问题】

$ mvn clean install
FATAL: command execution failed
java.io.IOException: error=2, No such file or directory
解决方案:需要配置maven环境:jekins->configureTools
环境绝对路径如下:
/usr/local/java/jdk1.8.0_231
/usr/local/maven/apache-maven-3.3.9

【构建新同名镜像,历史镜像名称、标签为none问题】

docker images|grep none|awk '{print $3}'|xargs docker rmi

参考博客 https://blog.csdn.net/weixin_33725239/article/details/94198130

4.2 使用宿主机jdk及maven构建镜像

【使用宿主机jdk及maven构建镜像】

#Dockerfile模板
FROM centos
LABEL "AUTHOR"="Max" "EMAIL"="813776775@qq.com"
VOLUME /tmp
ADD ci-demo-1.0.1-release.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 8080
ENV JAVA_HOME=/usr/local/jdk MAVEN_HOME=/usr/local/maven
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
CMD [ "sh", "-c", "mvn -Dserver.port=8080 spring-boot:run" ]
ENTRYPOINT ["java", "-jar", "app.jar"]

4.3 使用宿主机jdk及maven启动容器

【使用宿主机jdk及maven启动容器】

docker container run -v /usr/local/java/jdk1.8.0_231:/usr/local/jdk -v /usr/local/maven/apache-maven-3.3.9:/usr/local/maven  -p 8080:8080 ci-demo

启动容器
访问接口
项目访问验证启动成功

此版本,完成了Jenkins+docker+gitlab+nexus3+registry通过Dockerfile构建镜像及部署

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值