Jenkins & subversion URL 部分变量来自作业名称
Jenkins & subversion URL with part variable from job name
我的工作名称如下:
BUILD--PROJECT--TEMPLATE1
BUILD--PROJECT--TEMPLATE2
BUILD--PROJECT--TEMPLATE3
每个作业都使用 SCM 进行单独的颠覆 folder/project:
https://svn.domain.com/repos/project/template1/
https://svn.domain.com/repos/project/template2/
https://svn.domain.com/repos/project/template3/
创建新作业后,我们需要手动更新路径。
是否可以在 SCM 中使用来自作业名称的变量,例如:
BUILD--PROJECT--TEMPLATE1
https://svn.domain.com/repos/project/${template, 3rd parameter}/
你会如何解决它,有什么想法吗?
使用插件环境注入器插件和 EnvInject API 插件。按照手册配置它们。
在作业中 'general section' 勾选 "Prepare an environment for the run"
添加到 Groovy 脚本:
return [
JOB_TEMPLATE_NAME: JOB_NAME.split('-').last()
]
在您的 SCM 中,您将 URL 定义为:
https://svn.domain.com/repos/project/${JOB_TEMPLATE_NAME}
如果使用 SVN_REVISION 或 SVN_URL 全局变量,它们将会丢失。错误?
我的解决方法是:添加第一个构建步骤以执行 shell with:
echo "SVN_REVISION=$(svn info | awk '/^Revision:/{print }')" >env.properties
在第二个构建步骤中注入环境变量(插件)并将 'Properties File Path' 设置为 'env.properties' 在步骤 1 中创建的文件。
现在您可以在其他构建步骤中使用 SVN_REVISION。
希望对您有所帮助!
再见!
我的工作名称如下:
BUILD--PROJECT--TEMPLATE1
BUILD--PROJECT--TEMPLATE2
BUILD--PROJECT--TEMPLATE3
每个作业都使用 SCM 进行单独的颠覆 folder/project:
https://svn.domain.com/repos/project/template1/
https://svn.domain.com/repos/project/template2/
https://svn.domain.com/repos/project/template3/
创建新作业后,我们需要手动更新路径。
是否可以在 SCM 中使用来自作业名称的变量,例如:
BUILD--PROJECT--TEMPLATE1
https://svn.domain.com/repos/project/${template, 3rd parameter}/
你会如何解决它,有什么想法吗?
使用插件环境注入器插件和 EnvInject API 插件。按照手册配置它们。
在作业中 'general section' 勾选 "Prepare an environment for the run"
添加到 Groovy 脚本:
return [
JOB_TEMPLATE_NAME: JOB_NAME.split('-').last()
]
在您的 SCM 中,您将 URL 定义为:
https://svn.domain.com/repos/project/${JOB_TEMPLATE_NAME}
如果使用 SVN_REVISION 或 SVN_URL 全局变量,它们将会丢失。错误?
我的解决方法是:添加第一个构建步骤以执行 shell with:
echo "SVN_REVISION=$(svn info | awk '/^Revision:/{print }')" >env.properties
在第二个构建步骤中注入环境变量(插件)并将 'Properties File Path' 设置为 'env.properties' 在步骤 1 中创建的文件。 现在您可以在其他构建步骤中使用 SVN_REVISION。
希望对您有所帮助!
再见!