使用jenkins流水线(Jenkinsfile)部署springboot项目
新建流水线任务
配置 webhook
说一下 webhook 的作用:使用 git 工具执行相应步骤的时候,例如拉取、推送等操作的时候会触发 webhook 函数,那么 jenkins 就会开始执行打包部署等操作。
配置 webhook 的方法在使用jenkins+gitee部署springboot项目中讲的非常清楚了,这里就不再过多赘述。
在构建触发器中勾选 Gitee webhook 触发构建
生成 Gitee WebHook 密码
把 Gitee WebHook 密码配置到 Gitee 上
配置流水线
编写 Jenkinsfile 文件
这个文件需要根据自己的情况进行修改
还可以参考流水线语法
pipeline {
agent any
tools{
maven 'maven-3.8.4'
}
stages {
stage('拉取代码') {
steps {
git credentialsId: 'fc58707b-7072-47c1-889c-7d612821726c', url: 'https://gitee.com/latemaple/test.git'
echo '拉取成功'
}
}
stage('执行构建') {
steps {
sh "mvn --version"
sh "mvn clean package"
echo '构建完成'
}
}
stage('把jar包构建为docker镜像并运行') {
steps {
sh '''#!/bin/bash
# 源jar名称,mvn打包之后,target目录下的jar包名称
JAR_NAME=test-0.0.1-SNAPSHOT
# jenkins下的目录
JENKINS_HOME=/var/jenkins_home/workspace/test2
cd $JENKINS_HOME/target
cp $JENKINS_HOME/Dockerfile $JENKINS_HOME/target
# 修改文件权限 JAR_NAME
chmod 755 $JAR_NAME.jar
echo "停止容器"
docker stop test
echo "删除容器"
docker rm test
echo "删除镜像"
docker rmi test
echo "打包镜像"
docker build -t test .
echo "运行镜像"
docker run -d -p 8082:8082 --name test test
'''
echo '运行成功'
}
}
}
}