Jenkins+Docker+Spring+Java项目持续集成(单机版)

1、大致流程

流程说明:

1)开发人员每天把代码提交到 Gitlab 代码仓库

2)Jenkins 从 Gitlab 中拉取项目源码,编译并打成jar包,然后构建成 Docker 镜像,将镜像上传到 Harbor 私有仓库。

3)Jenkins 发送 SSH 远程命令,让生产部署服务器(应用服务器)到 Harbor 私有仓库拉取镜像到本地,然后创建容器。

4)最后,用户可以访问到容器(api或网站)

2、服务器规划

在这里插入图片描述
注:上面表格中机器标识是为了我在下面文章种描述方便加上去的,没实际作用。_

3、环境准备

3.1 项目源码

因为我这边描述的是单机版,所以项目源码找了一个由 sping 架构的微服务,前后端不分离的。不是传统意义上的 SpringCloud sping(全家桶)。整个项目前后端只有一个 jar包。

3.2 Docker、Harbor等软件安装

根据上面表格可以看出来,具体需要安装那些软件,按需安装即可,因为之前已经写过这些软件的安装过程,不再重复撰述了。

4、持续集成之创建 Jenkins Pipeline 流水线项目

注意,本文的重点是将本地运行的 java 微服务 jar包,构建成 docker 镜像,然后部署到生产服务器上。这个这套流程是通过 Jenkins Pipeline 的形式去完成,也是下面要讲的。Jenkins 处理这个流程有很多方式,Pipeline(流水线)只是其中一种方式,也是官方推荐的。

4.1 Jenkins项目构建类型-Pipeline流水线项目创建

Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点

的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。

使用 Pipeline 的优点(来自翻译自官方文档):

Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流

程。

4.1.1 安装 Pipeline 插件

Jenkins中依次打开,Manage Jenkins->Manage Plugins->可选插件,搜素。

安装插件后可以创建项目了。

4.1.2 配置构建
  • 参数化构建,根据分支拉取代码

4.1.3 创建 Jenkinsfile 文件-拉取代码

项目根目录创建 Jenkinsfile 文件,编写流水线脚本。

pipeline {
    agent any
 
    options {
        timeout(time: 1, unit: 'HOURS')
    }
 
    stages {
        stage('拉取代码') {
            steps {
                checkout(\[$class: 'GitSCM', branches: \[\[name: '*/${branch}'\]\], extensions: \[\], userRemoteConfigs: \[\[credentialsId: '32d07987-6f74-4b74-bb91-a9f5509', url: 'http://192.168.5.111:80/gitee/xx/xx/cabast'\]\]\])
                echo '拉取代码成功' 
            }
        }    
    }
    
}

说明,这里需要在Jenkins中配置好git仓库的相关凭证,就是Jenkins和git仓库通信。具体配置方法看前面的准备环境中,Jenkins安装链接。

现在构建验证下。

4.1.4 构建镜像

既然代码拉取下来了,就可以构建镜像了,使用 Dockerfile 编译、生成镜像。

这里简单的介绍下 jar包构建成 Docker 镜像的基础知识。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值