努力了这么久,但凡有点儿天赋,也该有些成功的迹象了。
本篇文章引导你使用 Jenkins 部署 SpringBoot 项目,同时使用 Docker 和 Git 实现简单的 持续集成 和持续部署。(项目地址: sso-merryyou )
流程图如下:
push 代码到 Github 触发 WebHook 。(因网络原因,本篇使用 gitee ) Jenkins 从仓库拉去代码 mavem 构建项目 build 镜像 push 镜像到镜像仓库(本篇使用的镜像仓库为网易镜像仓库) 从 https://jenkins.io/download/ 下载对应的 jenkins
访问本地: http://localhost:8080 输入密码
进入用户自定义插件界面,选择第二个(因为我们本次构建使用的为 Pipelines )
勾选与 Pipelines 相关的插件
等待插件安装完成
系统管理-》全局工具配置 配置Git,JDK和Maven
系统管理-》全局安全配置
新建任务-》流水线
勾选触发远程构建 (WebHooks触发地址),填写简单的 Pipeline script
#!groovy
pipeline{
agent any
stages {
stage('test'){
steps {
echo "hello world"
}
}
}
}
立即构建
控制台输出
使用 natapp 实现内网穿透
修改 Pipeline script
#!groovy
pipeline{
agent any
//定义仓库地址
environment {
REPOSITORY="https://gitee.com/merryyou/sso-merryyou.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"
//切换目录
dir('sso-client1') {
//重新打包
bat 'mvn -Dmaven.test.skip=true -U clean install'
}
}
}
stage('构建镜像'){
steps {
echo "start build image"
dir('sso-client1') {
//build镜像
bat 'docker build -t hub.c.163.com/longfeizheng/sso-client1:1.0 .'
//登录163云仓库
bat 'docker login -u longfei_zheng@163.com -p password hub.c.163.com'
//推送镜像到163仓库
bat 'docker push hub.c.163.com/longfeizheng/sso-client1:1.0'
}
}
}
stage('启动服务'){
steps {
echo "start sso-merryyou"
//重启服务
bat 'docker-compose up -d --build'
}
}
}
}
Pipeline的几个基本概念:
更多Pipeline语法参考: pipeline 语法详解
docker-compose up -d 启动服务
访问 http://sso-taobao:8083/client1 登录
修改内容效果如下:
更多效果图