詹金斯全局变量

Posted

技术标签:

【中文标题】詹金斯全局变量【英文标题】:Jenkins global variables 【发布时间】:2013-11-01 21:32:16 【问题描述】:

我正在尝试在 Windows 上使用 Jenkins 中的全局变量来“自动”从我们的 SCM 系统中检索正确的代码库,但在我尝试过的每种情况下,变量替换都没有发生。

我在“配置系统”中设置了一些具有默认值的全局变量,并尝试使用 $VARIABLE$VARIABLE%VARIABLE% 作为 Surround SCM 插件的分支字段的一部分来访问它们没有任何成功。

我还安装了具有相同成功率 (0%) 的全局变量字符串参数插件。使用文字值可以正常工作,但似乎根本没有任何类型的变量替换可以工作,我确信之前有人遇到过这个问题并解决了它。

我已经尝试搜索类似的东西,但没有真正接近全局变量的这种用法,而是通常将其作为外部脚本中的函数或传递给批处理文件的参数等进行讨论。

我在第一步中运行了“set”,可以看到变量可用,但是替换并没有发生。如果这意味着我必须编写一些脚本,那么就这样吧,因为我正在努力使这变得非常灵活并且尽可能不让人头疼,但到目前为止,在这种情况下似乎并非如此。

我的问题与这篇文章非常相似:How are environment variables used in Jenkins with Windows Batch Command?,但同样,我不想编写脚本,因为它是直接使用变量值的更简单的解决方案。

【问题讨论】:

对于解决方法,我只是将必要的命令 (sscm.exe ...) 作为 Windows 批处理命令执行,但我想保持打开状态,因为在我看来是应该“正常工作”的东西。想任何人...... 【参考方案1】:

来自https://wiki.jenkins-ci.org/display/JENKINS/Surround+SCM+Plugin

疑难解答

如有关于集成的问题,请联系 Seapine 支持人员或 报告错误或功能请求。

【讨论】:

@Whoever downvoted:变量替换需要插件支持。 Surround SCM 是一个商业工具,插件由 Seapine 提供。因此,联系 Seapine 以了解它是否是一个错误、功能请求或只是一个未配置的配置应该是最好的选择。 感谢您的评论【参考方案2】:
    将您的 Jenkins 项目设置为参数化。创建一个字符串参数GIT_BRANCH,它将作为您的分支变量(例如)。

    在源代码控制管理下,使用$GIT_BRANCH 形式的分支变量

就是这样。运行项目时,系统会提示您输入 GIT_BRANCH 参数的值。

【讨论】:

以上是关于詹金斯全局变量的主要内容,如果未能解决你的问题,请参考以下文章

在 Jenkins Pipeline 中使用全局变量

詹金斯是否具有非秘密凭证等功能?

Rust 全局变量

什么是全局变量

【C语言笔记】<二十一>内部全局变量和外部全局变量

python函数中局部变量与全局变量遵守规则