需求
通过jenkins发布java项目到服务器
预备环境
- 项目地址: https://gitee.com/asaland/sb-docker-app
- Jenkins 2.387.3
通过Jenkinsfile实现方式
jenkins ui 配置pipeline
什么是pipeline?
直接看注释吧,简单点就是编排可以多个跨时间的构建代理,可以理解为构建部署项目的工作流
- 先简历pipeline
- 中间步骤不是很重要,按需填写就行,重点在最后,选择Jenkinsfile
3. 在项目中配置jenkinsfile
虽然说,jenkinsfile可以指定路径,但是为了方便的话,直接放在root目录下最好了,这样的话比较方便,项目目录结构如下:
4. 配置jenkinsfile
jenkinsfile的语法参考: https://www.jenkins.io/doc/book/pipeline/,查看简单的配置文件
pipeline {
agent any
stages {
// 清除原本的进程和信息
stage('Stage clean and kill process') {
steps {
sh 'rm -rf ./target'
sh 'fuser -k 9999/tcp || true'
}
}
// 本地部署和打包,如果需要的话,可以适当增加操作
stage('Stage clean install') {
steps {
sh 'mvn install -Dmaven.test.skip=true -U -am'
}
}
// 发布和运行
stage('Stage deploy') {
steps {
echo 'deploy ...!'
sh 'nohup java -jar ./target/sb-docker-app.jar > sb-docker-app.log 2>&1 &'
echo 'deployed successfully!'
}
}
}
}
这样的话,一个简单的基于jenkinsfile的流程就结束了,如果还需要复杂的流程就需要其他的配置了,这个另外再说