使用SCM中的声明性Jenkins管道-Subversion-如何获取svn Url?
这看起来像是关于Jenkins用法的基本问题 我的使用SCM中的声明性Jenkins管道-Subversion-如何获取svn Url?,jenkins,svn,jenkins-pipeline,jenkins-groovy,Jenkins,Svn,Jenkins Pipeline,Jenkins Groovy,这看起来像是关于Jenkins用法的基本问题 我的Jenkinsfile位于Subversion存储库树的根文件夹中。该产品有许多分支(版本/标签)-到处都是相同的Jenkinsfile。到目前为止,我想是非常基本的设置 我需要为当前Subversion存储库分支/url提供一些步骤。 有一些类似的问题,比如or,但是没有一个是有效的颠覆解决方案 pipeline { agent { label 'master' } stages { stage("test"
Jenkinsfile
位于Subversion存储库树的根文件夹中。该产品有许多分支(版本/标签)-到处都是相同的Jenkinsfile
。到目前为止,我想是非常基本的设置
我需要为当前Subversion存储库分支/url提供一些步骤。
有一些类似的问题,比如or,但是没有一个是有效的颠覆解决方案
pipeline {
agent { label 'master' }
stages {
stage("test") {
steps {
echo "Start pipeline "
// commented-out = not working
//echo scm.getUserRemoteConfigs()
//echo scm
script {
println "Current svn url/branch: "//??? + scm.getUserRemoteConfigs()[0].getUrl()
}
}
}
}
}
会是这样的
pipeline {
agent any;
stages {
stage('test'){
steps {
script {
def s = checkout scm;
if (s.GIT_URL != null) {
print s.GIT_URL
print s.GIT_BRANCH
print s.GIT_COMMIT
}
else if (s.SVN_URL != null) {
print s.SVN_REVISION
print s.SVN_REVISION_1
print s.SVN_URL
print s.SVN_URL_1
}
}
}
}
}
}
注意-这在GIT和SVN中很好用,但有点不同。是的,这很有效。当然,scm对象对于svn有不同的属性。谢谢