先上效果图,下面是Blue Ocean中构建的结果:
pipeline blue ocean
首先我们先创建一个任务,如下,选择流水线,录入任务名称:
任务创建
进入配置页面,拉到流水线模块,选择Pipeline script:
流水线脚本配置
下面是Pipeline脚本:
#!groovy
pipeline{
agent any
environment{
RESPOSITORY = "http://xxx.xxx.xxx.xxx:8089/svn/****/demo"
MAVEN_HOME = tool "maven"
}
stages {
stage ('拉取代码'){
steps {
echo "开始从 ${RESPOSITORY} 拉取代码..."
// //清空当前目录
// deleteDir()
checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true, credentialsId: 'svn-xxx', depthOption: 'infinity', ignoreExternalsOption: true, local: 'demo', remote: 'http://xxx.xxx.xxx.xxx:8089/svn/****/demo']], quietOperation: false, workspaceUpdater: [$class: 'UpdateUpdater']])
echo "代码同步完成"
}
}
stage('编译打包'){
steps {
echo "开始编译"
dir("demo"){
sh "${MAVEN_HOME}/bin/mvn clean install"
}
}
}
stage('启动服务'){
steps {
echo "启动服务 demo"
//重启服务
dir("demo"){
sh 'JENKINS_NODE_COOKIE=dontKillMe sh start.sh'
}
}
}
}
}
checkout语法是借助jenkins流水线语法工具生成的,如下图,点击流水线语法:
进入到Pipeline语法生成界面:
svn checkout
在示例步骤中我们选择checkout,然后SCM选择Subversion(SVN),根据提示配置svn信息,然后点击生成流水线脚本按钮,如下:
流水线脚本生成
其中start.sh是我们自己编写的服务启动脚本,包含了类似nohup java -jar xxx.jar &的命令。













网友评论