使用 Jenkins 和 Docker 实现持续集成和自动化部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/onwl007/article/details/81193522

使用 Jenkins 和 Docker 实现持续集成和自动化部署

现在项目的版本更新都很快,人工部署的方式已经显的有些跟不上节奏,再加上项目迁移部署的环境配置问题,无疑都会增加我们的工作量。

我在自己的项目上,搭建了这一套完整的持续集成和自动化部署的解决方案,已下是搭建这套解决方案的过程,希望能为其他有需要的小伙伴提供参考。

搭建 Jenkins 构建环境

首先,我们去 Jenkins 官网上去下载最新的 war 包,下载下来之后,我们运行以下命令:
java -jar jenkins.war
这个 war 包自带 Jetty 服务器,所以我们直接启动就可以了。访问 (http://localhost:8080/) ,默认 8080 端口,前面的基础配置就不这里详细说了,我们从构建第一个任务开始说起。

先安装 Maven,安装好之后,回到首页点击“新建任务”,输入名字,选择“构建一个 Maven 项目”,然后点击确定
新建 Jenkins 任务
在源码管理一栏中,选择版本控制的类型,例如 Git,SVN 都可以,这里我选择的是 Git,填入自己的仓库地址,
源码管理
构建触发器,选择“轮询 SCM”,日程表填写* * * * *,意思是每分钟检查一次 Git 地址
构建触发器
构建环境填入以下内容
构建环境
Post Steps 是我们构建好,打包好之后要进行的发布操作,这里我们使用的是 Docker 容器来部署发布应用,需要我们写脚本来自动进行这些操作,这个在搭建 Docker 环境中介绍。
最后点击保存,Jenkins 自动化构建的环境就搭建好了,只要检测到 Git 仓库发生了改变,就会自动去执行打包操作。

搭建 Docker 环境

Docker 的出现解决了我们部署项目的一大痛点,就是在别的地方重新部署的话,不需要再手动配置一遍项目运行所需要的环境,只需要从仓库中把配置好的镜像拉取到本地,然后运行镜像即可,省去了很多无畏的工作量。

自动化的部署的操作流程:

  1. 创建 Docker 私有仓库(也可以使用公有仓库)
  2. Dockerfile 创建系统镜像
  3. 删除已运行容器
  4. 运行新容器
  5. 将新镜像 push 到私有或公有仓库

现在,配置 Post Steps 中具体的发布操作,首先在 Jenkins 系统管理中系统设置中配置 Publish over SSH
ssh 配置
之后填入以下命令
发布操作
脚本的命令如下

docker build -t xxx /xxx/xxx/   #根据dockerfile生成web镜像
docker ps
docker stop xxx
docker rm xxx
docker run -d -p port:port --name xxx xxx    #运行镜像生成容器
docker push ip:port/镜像名称  #填自己私有仓库的ip和端口

以上命令中的名字,ip 和端口之类的根据自身需要填写。

这样我们的持续集成和自动化部署就搭建好了,最后看一下控制台输出的信息
控制台信息

猜你喜欢

转载自blog.csdn.net/onwl007/article/details/81193522