Springboot Gitlab Jenkins Maven Docker 持续集成/持续交付
来源:互联网 发布:知乎装修精华帖 编辑:程序博客网 时间:2024/06/05 07:08
Gilab安装教程
http://blog.csdn.net/chenhaifeng2016/article/details/78603216
http://blog.csdn.net/chenhaifeng2016/article/details/78603932
Jenkin安装教程
http://blog.csdn.net/chenhaifeng2016/article/details/78626727
Maven安装教程和Gradle安装教程
http://blog.csdn.net/chenhaifeng2016/article/details/61202846
Docker私有Registry安装教程
http://blog.csdn.net/chenhaifeng2016/article/details/78177159
制作基础镜像
http://blog.csdn.net/chenhaifeng2016/article/details/78631215
配置Jenkins的JDK和Maven
在Jenkins中安装相关插件:Git, Gitlab Auth, Gilab Hook, Gitlab
在Jenkins中配置Git plugin
在Jenkins中配置Gitlab plugin
GitLab API Token来自于
最后测试一下Jenkins是否可以连接GitLab。
点击按钮Test Connection返回success显示成功。
在Jenkins服务器生成密钥对ssh-keygen
在Gitlab创建项目springbootdemo
配置项目的部署密钥
在Jenkins中新建一个项目springbootdemo,建议项目名称和gitlab中的项目名称保持一致。项目类型为构建一个自由风格的软件项目。
在Jenkins中配置项目的源代码管理
在Jenkins中配置项目的构建触发器
在Jenkin中配置项目的构建动作,这里暂时输出"maven ..."
在gitlab中配置项目的webhook
模拟测试一下Push events
测试成功
在IntelliJ IDEA修改代码做一次提交,webhook会自动触发构建。
接下来配置项目自动生成docker镜像并上传企业内部私有仓库。
在Jenkins中配置项目的构建,这里添加两个步骤。
dockerfile的内容
FROM repo.cssweb.com:5000/chenhf/jdk8MAINTAINER chenhf "chenhf2010@qq.com"RUN mkdir -p /usr/local/src/springbootappADD target/springbootdemo-0.0.1-SNAPSHOT.jar /usr/local/src/springbootappENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/usr/local/src/springbootapp/springbootdemo-0.0.1-SNAPSHOT.jar"]
通常情况下,会在项目中添加一个目录docker, 并在下面创建dockerfile文件。
另外,maven工程可以借助于docker-maven-plugin插件来生成镜像并上传镜像仓库。
这里只是出于演示的目的。
shell脚本的内容
#!/bin/bashif docker images | grep repo.cssweb.com:5000/chenhf/springbootdemothen docker rmi repo.cssweb.com:5000/chenhf/springbootdemo echo "docker rmi repo.cssweb.com:5000/chenhf/springbootdemo"fidocker build -t repo.cssweb.com:5000/chenhf/springbootdemo .docker push repo.cssweb.com:5000/chenhf/springbootdemoif docker ps -a | grep -i springbootdemo then docker rm -f springbootdemo echo "docker rm -f springbootdemo"fidocker run -d -p 9000:8080 --name springbootdemo repo.cssweb.com:5000/chenhf/springbootdemo
这里只是出于演示的需要,在本地运行了容器。实际情况下, 需要通过docker compose,kubernetes等工具来部署容器。
接下来在项目开发工具IntelliJ IDEA中做一次提交, Jenkins会自动构建项目、生成镜像、上传镜像并运行容器。
下次讲一下如何通过pipeline来持续集成和交付项目。
maven docker plugin
https://github.com/spotify/docker-maven-plugin
https://github.com/spotify/dockerfile-maven
- Springboot Gitlab Jenkins Maven Docker 持续集成/持续交付
- gitlab+docker+jenkins+maven+tomcat持续集成
- 使用GitLab、Jenkins、Docker建立快速持续化集成交付部署方案
- 持续集成Gitlab+Jenkins
- gitlab+jenkins持续集成
- Jenkins + Gitlab 搭建持续集成
- salt+jenkins+gitlab持续集成
- 搭建Jenkins+SpringBoot+Docker的微服务持续集成框架
- jenkins+git+springboot+maven持续集成构建部署
- Jenkins & Docker 持续集成实践
- 持续集成之Jenkins+Gitlab实现持续集成 [二]
- 持续集成之Jenkins+Gitlab实现持续集成 [二]
- 持续集成之Jenkins+Gitlab实现持续集成 [二]
- Jenkins Gitlab持续集成打包平台搭建
- Jenkins+Gitlab搭建CI持续集成架构
- Jenkins+Gitlab搭建CI持续集成架构
- gitlab + jenkins + sonar java代码持续集成
- 持续集成之Jenkins+Gitlab简介 [一]
- 同一台服务器,安装两个Tomcat,同一路径不同端口号,同一浏览器下不能同时访问问题
- ogg中filter用法
- nginx的配置
- java设计模式之单例模式
- 安装部署Python(win7环境)
- Springboot Gitlab Jenkins Maven Docker 持续集成/持续交付
- 日常记录(1)
- 俄罗斯“海盗党”向NASA伸出了技术援手
- 指针的引用做函数的参数
- VM安装linux
- 【腾讯TMQ】TBS主线众测实践之路
- 1134: 字符串转换
- 基于贪心算法的马踏棋盘哈密顿回路问题
- 安卓混淆