springboot+Jenkins+docker-compose自动部署项目实践
DevOps思想
一个开发、测试、运维的整个过程的思想。

plan:需求、计划
code:编码
build:构建
test: 测试
release:发布版本
deploy:部署
operate:项目运转
monitor:监控

Jenkins主要做自动部署的工作。
准备一个简单的springboot项目,并用码云管理代码



编写dockerFile

FROM:使用java:8作为基础镜像
COPY:拷贝所有当前目录jar文件后缀的包到镜像容器的/hello-jenkins.jar
CMD:指定springboot启动的端口
EXPOSE:容器开放8080端口
VOLUME:容器内存放日志文件的路径,需要挂载到服务器
编写docker-compose

version:Compose file format,与docker引擎的版本对应查阅:https://docs.docker.com/compose/compose-file/compose-versioning/
services:需要构建的镜像列表
hello-jenkins: 镜像名字
build:构建命令,直接点就是构建当前目录的Dockerfile文件(docker build -f Dockerfile -t hello -jenkins )
image: 镜像名
volumes:挂载目录,服务器目录:容器内目录
ports:端口映射,服务器端口:容器内端口、
尝试执行
将docker-compose、DockerFile、jar包放入服务器目录上。
执行
docker-compose up -d # -d后台执行 --build 重新构建

访问成功:

码云新建一个WebHook

注意url要以用户名@密码的形式说明jenkin的用户
配置Jenkins
jenkin安装gitee插件

新建一个maven项目任务

配置好git地址和账号密码

配置webhooks
使用webhooks能让提交代码的时候就触发构建项目。
jenkin任务选择码云的webhook

选择[ci-build] 指令触发构建可以在提交的描述信息包含 [ci-build],才触发构建。
配置build命令

配置build完后执行的命令

我的jenkins是war包安装的,构建后的包目录是 /root/.jenkins/workspace/hello-jenkins/target/hello-0.0.1-SNAPSHOT.jar
\cp命令是复制,且强制覆盖原来的文件。
验证
修改代码并提交

成功触发构建事件

刷新页面

更新成功!
springboot+Jenkins+docker-compose自动部署项目实践的更多相关文章
- Jenkins + maven + svn 自动部署项目
1.安装Jenkins sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins. ...
- 使用jenkins 插件自动部署项目至tomcat
前面使用maven.ant编译项目就不说,只说一下使用jenkins的插件自动部署项目 1.首先jenkins安装插件Deploy to container Plugin ,下载地址为:https:/ ...
- Jenkins+Docker+Git 自动化部署
Jenkins+Docker+Git 自动化部署图文教程 https://blog.csdn.net/qq_38252039/article/details/89791247 前言: 通过几天的学习和 ...
- Docker Compose 一键部署Nginx代理Tomcat集群
Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ...
- Docker Compose 一键部署多节点爬虫程序
Docker Compose 一键部署多节点爬虫程序 目录结构 [root@localhost ~]# tree compose_crawler/ compose_crawler/ ├── cento ...
- dotnet跨平台 - 使用Nginx+Docker Compose运行.NETCore项目
参考文档: https://docs.docker.com/install/linux/docker-ce/centos/ http://www.dockerinfo.net/document htt ...
- Docker Compose 一键部署LNMP
Docker Compose 一键部署LNMP 目录结构 [root@localhost ~]# tree compose_lnmp/ compose_lnmp/ ├── docker-compose ...
- Eclipse自动部署项目到Tomcat的webapps下的有效方法
开发JavaEE项目,常用的工具有MyEclipse,Eclipse,netBeans等,我比较喜欢用Eclipse,因为相比MyEclipse体积小很多,响应速度也快,且足以满足需求,我喜欢简洁的编 ...
- Pycharm自动部署项目
Pycharm自动部署项目 大家好呀,又有几天不见各位了.断更了几天,给大家说声抱歉.清明节大家都挺忙的,有扫墓祭祖的,也有趁小长假去游玩的. 所以,在节后,更新也会照常进行,继续给大家分享本人的一些 ...
随机推荐
- 使用swagger上传文件
经常使用swagger,可以通过设置[ProducesResponseType]标记接口的返回信息:swagger也能通过接口的参数列表,自动获得发送的数据结构信息. 不过有一个例外,就是上传文件的时 ...
- myeclipse经常弹出Subversion Native Library Not Available框解决办法
两种解决方案:(1)在myeclipse中选择 "Windows" -> Perferences. 然后通过左上方的筛选,选出svn设置菜单,点解左侧的"SVN&q ...
- 数据库索引的基石----B树
数据结构相对来说比较枯燥, 我尽量用最易懂的话,来把B树讲清楚.学过数据结构的人都接触过一个概念二叉树,简单来说,就是每个父节点最多有两个子节点.为了在二叉树上更快的进行元素的查找,人们通过不断的改进 ...
- 关于.NET中的控制反转(三)- 依赖注入之 Autofac
一.Autofac简介 Autofac和其他容器的不同之处是它和C#语言的结合非常紧密,在使用过程中对你的应用的侵入性几乎为零,更容易与第三方的组件集成.Autofac的主要特性如下: 组件侵入性为零 ...
- maven 无法导入ojdbc 的jar包 解决方法
由于maven无法在线安装ojdbc包,所有先在我们需要手动导入. 准备环境: 1.系统需要配置好jdk以及maven环境. 2.ojdbc的jar包,记住jar的路径,我的路径是:E:\jdbc\o ...
- Typora笔记上传到播客时图片不显示问题解决(已解决)
前言: 相信我们都遇到过,使用Typora做笔记是一件非常令人舒服的事,然而,它却有一个非常难受的地方,那就是我们在做完笔记想要将其上传到自己的博客时,复制粘贴的图片无法显示.因为Typora复制 ...
- 【Web】实现动态文章列表
简单记录 -慕课网- 步骤二:动态文章列表效果 实现这个 一个网页中常见的文章列表效果. 怎么实现文章列表案例 分解一波,CSS来改变样式 标题标签 HTML的无序列表 去掉项目符号 符号所占空间 列 ...
- 【Linux】将ens33修改为eth0 网卡方法
1.编辑 grub 配置文件 vim /etc/sysconfig/grub # 其实是/etc/default/grub的软连接 # 为GRUB_CMDLINE_LINUX变量增加2个参数,添加的内 ...
- SAP 摘录数据集
要在报表中创建并填充摘录数据集,需要执行三步骤:1.将要在摘录数据集中使用的记录类型定义为字段组FIELD-GROUPS该语句定义了字段组,字段组可以将几个字段组合到一个名称下,字段组不为字段保留存储 ...
- [Usaco2016 Dec]Counting Haybales
原题链接https://www.lydsy.com/JudgeOnline/problem.php?id=4747 先将原数组排序,然后二分查找即可.时间复杂度\(O((N+Q)logN)\). #i ...