使用来自 SCM 的声明式 Jenkins 管道 - Subversion - 如何获取 svn Url?
Using Declarative Jenkins pipeline from SCM - Subversion - How to get svn Url?
这看起来像是关于 Jenkins 用法的非常基本的问题。
我 Jenkinsfile
位于我的 Subversion 存储库树的根文件夹中。产品有很多分支 (versions/tags) - 到处都是一样的 Jenkinsfile
。我想到目前为止是非常基本的设置。
我需要提供一些使用 当前 Subversion 存储库 branch/url 的步骤。
有一些类似的问题,如 this or this,但 none 是 Subversion 的工作解决方案。
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,但有点不同。
这看起来像是关于 Jenkins 用法的非常基本的问题。
我 Jenkinsfile
位于我的 Subversion 存储库树的根文件夹中。产品有很多分支 (versions/tags) - 到处都是一样的 Jenkinsfile
。我想到目前为止是非常基本的设置。
我需要提供一些使用 当前 Subversion 存储库 branch/url 的步骤。 有一些类似的问题,如 this or this,但 none 是 Subversion 的工作解决方案。
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,但有点不同。