jenkins+docker+git+springboot实现可持续自动化部署
本篇文章引导你使用Jenkins部署SpringBoot项目,同时使用Docker和Git实现简单的持续集成和持续部署。(项目地址:first-app-demo)流程图如下:push代码到Github触发WebHook。(因网络原因,本篇使用gitee)Jenkins从仓库拉去代码maven构建项目代码静态分析单元测试build镜像push镜像到镜像仓库(本篇使用的镜像仓库为网易镜像仓库)更新服务
·
本篇文章引导你使用Jenkins
部署SpringBoot
项目,同时使用Docker
和Git
实现简单的持续集成和持续部署。(项目地址:first-app-demo)
流程图如下:
push
代码到Github
触发WebHook
。(因网络原因,本篇使用gitee)Jenkins
从仓库拉去代码maven
构建项目- 代码静态分析
- 单元测试
build
镜像push
镜像到镜像仓库(本篇使用的镜像仓库为网易镜像仓库)- 更新服务
Jenkins安装
下载jenkins
从https://jenkins.io/download/下载对应的jenkins
初始化密码
访问本地:http://localhost:8080输入密码
选择插件
进入用户自定义插件界面,选择第二个(因为我们本次构建使用的为Pipelines
)
勾选与Pipelines
相关的插件
等待插件安装完成
配置用户名和密码
全局配置
系统管理-》全局工具配置 配置Git,JDK和Maven
安全配置
系统管理-》全局安全配置
- 勾选Allow anonymous read access
- 取消防止跨站点请求伪造
新建任务
新建任务-》流水线
构建脚本
勾选触发远程构建 (WebHooks触发地址),填写简单的Pipeline script
#!groovy
pipeline{
agent any
stages {
stage('test'){
steps {
echo "hello world"
}
}
}
}
测试脚本
立即构建
控制台输出
配置WebHooks
修改脚本
修改Pipeline script
pipeline
{
agent any
//定义仓库地址
environment {
REPOSITORY="https://github.com/wangwencheng/first-app-demo.git"
}
stages {
stage('获取代码'){
steps {
echo "start fetch code from git:${REPOSITORY}"
//清空当前目录
deleteDir()
//拉去代码
git "${REPOSITORY}"
}
}
stage('代码静态检查'){
steps {
//伪代码检查
echo "start code check"
}
}
stage('编译+单元测试'){
steps {
echo "start compile"
//重新打包
bat 'mvn -Dmaven.test.skip=true -U clean install'
}
}
stage('构建镜像'){
steps {
echo "start build image"
//build镜像
bat 'docker build -t first-app-demo:1.0 .'
//登录dockerhub云仓库
bat 'docker login -u wangwch -p 273273wang...'
//推送镜像到dockerhub仓库
bat 'docker tag first-app-demo:1.0 wangwch/first-app-demo:1.0'
}
}
stage('启动服务'){
steps {
echo "start first-app-demo"
//重启服务
bat 'docker run first-app-demo:1.0'
}
}
}
}
Pipeline的几个基本概念:
- Stage: 阶段,一个Pipeline可以划分为若干个Stage,每个Stage代表一组操作。注意,Stage是一个逻辑分组的概念,可以跨多个Node。
- Node: 节点,一个Node就是一个Jenkins节点,或者是Master,或者是Agent,是执行Step的具体运行期环境。
- Step: 步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个Docker镜像,由各类Jenkins Plugin提供。
更多推荐
已为社区贡献1条内容
所有评论(0)