先上效果图,下面是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
语法生成界面:

在示例步骤
中我们选择checkout
,然后SCM
选择Subversion(SVN),根据提示配置svn信息,然后点击生成流水线脚本
按钮,如下:

其中start.sh
是我们自己编写的服务启动脚本,包含了类似nohup java -jar xxx.jar &
的命令。
网友评论