DevOps思想

一个开发、测试、运维的整个过程的思想。

plan:需求、计划

code:编码

build:构建

test: 测试

release:发布版本

deploy:部署

operate:项目运转

monitor:监控

Jenkins主要做自动部署的工作。

准备一个简单的springboot项目,并用码云管理代码

![](Jenkins.assets/image-20210131115025348.png

编写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自动部署项目实践的更多相关文章

  1. Jenkins + maven + svn 自动部署项目

    1.安装Jenkins sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins. ...

  2. 使用jenkins 插件自动部署项目至tomcat

    前面使用maven.ant编译项目就不说,只说一下使用jenkins的插件自动部署项目 1.首先jenkins安装插件Deploy to container Plugin ,下载地址为:https:/ ...

  3. Jenkins+Docker+Git 自动化部署

    Jenkins+Docker+Git 自动化部署图文教程 https://blog.csdn.net/qq_38252039/article/details/89791247 前言: 通过几天的学习和 ...

  4. Docker Compose 一键部署Nginx代理Tomcat集群

    Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ...

  5. Docker Compose 一键部署多节点爬虫程序

    Docker Compose 一键部署多节点爬虫程序 目录结构 [root@localhost ~]# tree compose_crawler/ compose_crawler/ ├── cento ...

  6. dotnet跨平台 - 使用Nginx+Docker Compose运行.NETCore项目

    参考文档: https://docs.docker.com/install/linux/docker-ce/centos/ http://www.dockerinfo.net/document htt ...

  7. Docker Compose 一键部署LNMP

    Docker Compose 一键部署LNMP 目录结构 [root@localhost ~]# tree compose_lnmp/ compose_lnmp/ ├── docker-compose ...

  8. Eclipse自动部署项目到Tomcat的webapps下的有效方法

    开发JavaEE项目,常用的工具有MyEclipse,Eclipse,netBeans等,我比较喜欢用Eclipse,因为相比MyEclipse体积小很多,响应速度也快,且足以满足需求,我喜欢简洁的编 ...

  9. Pycharm自动部署项目

    Pycharm自动部署项目 大家好呀,又有几天不见各位了.断更了几天,给大家说声抱歉.清明节大家都挺忙的,有扫墓祭祖的,也有趁小长假去游玩的. 所以,在节后,更新也会照常进行,继续给大家分享本人的一些 ...

随机推荐

  1. [leetcode]304Range Sum Query 2D - Immutable动态规划计算二维数组中子数组的sum

    303一维数组的升级版,方法就是用二维数组res存下从(0,0)到当前位置的sum,存的方法是动态规划,看着二维数组画圈比较好搞清楚其中的加减法 算子数组的sum的时候也是和存差不多的逻辑,就是某一部 ...

  2. ubuntu安装nfs服务

    安装: sudo apt-get install nfs-kernel-server 修改配置文件 /etc/exports 增加以下内容: /NFS *(rw,sync,no_root_squash ...

  3. Spring Boot 2.x基础教程:多个文件的上传

    昨天,我们介绍了如何在Spring Boot中实现文件的上传.有读者问:那么如果有多个文件要同时上传呢?这就马上奉上,当碰到多个文件要同时上传的处理方法. 动手试试 本文的动手环节将基于Spring ...

  4. 「珍贵历史资料鉴赏」CF786B 题解

    写在前面 偶然翻到一篇 2019-08-07 18:58 写的未发布的题解. 给大家找点乐子玩. 正文 知识点:线段树优化建图 线段树优化建图 用于解决 类似 从 x 向区间[L,R]的 区间连边问题 ...

  5. 阿里面试:MySQL如何设计索引更高效?

    有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...

  6. Label_table

    <table border(边框) = "" width = height = align = bordercolor(边框色) = cellspacing 表格边框与单元格 ...

  7. .net core 中使用Log4net输出日志到Mysql数据库中

    .net core 中使用Log4net输出日志到数据库中去 1.使用Nuget安装log4net 和 mysql.data 2.设置log4net 的配置文件 log4net.config 可以设置 ...

  8. 【十天自制软渲染器】DAY 01:图形学学习建议与环境搭建

    推荐直接阅读博客原文,更新更及时,阅读体验更佳 「十天自制软渲染器」这个标题我承认标题党了.在对图形学一无所知的情况下想十天自制一个软渲染器,就好似一节课没上过却试图一个晚上看完<30 天精通 ...

  9. 大厂面试官竟然这么爱问Kafka,一连八个Kafka问题把我问蒙了?

    本文首发于公众号:五分钟学大数据 在面试的时候,发现很多面试官特别爱问Kafka相关的问题,这也不难理解,谁让Kafka是大数据领域中消息队列的唯一王者,单机十万级别的吞吐量,毫秒级别的延迟,这种天生 ...

  10. 【剑指 Offer】06.从尾到头打印链表

    题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10 ...