背景
我有一个复杂的构建系统,它正在运行并使用共享库。管道代码存储在共享库所在的git仓库中。两个源代码都在master
分支上。
问题
现在我做了更大的重构来改进构建和测试过程。所以我在feature
分支上工作,我配置了相应的Jenkins作业来测试它。
由于我也对共享库进行了修改,因此有一件事很烦人:要导入库,我必须按以下方式导入此库:
@Library('my_library@feature') _
因此,为了将这些更改合并到master
,我必须更新代码。
有没有办法访问当前管道代码 checkout 的分支(或其他类型的引用)?因此,当我合并分支时,共享库会在不更改代码的情况下继续。
我在想这样的事情:
@Library("my_library@${PIPELINE_SOURCE_REF}") _
我搜索了文档和互联网,没有发现任何类似的东西。
还是有其他的解决方案?
2条答案
按热度按时间hsvhsicv1#
如果对库分支使用一个参数就足够了,可以这样做,请查看共享库文档
您需要更改:
至
这将加载全局变量。
如果需要示例化某个类,可以执行以下操作:
它有一些文档中提到的限制,这取决于您的库的外观
iyr7buue2#
在某个非公共存储库中,我在管道前面发现了类似的东西。
尚未测试,但似乎合理。
scm.branches[0].name
应包含用于检查管道代码的分支名称。