通过 Gitlab 合并请求将参数传递给 Jenkins



我的目标:每当在 Gitlab 中发出合并请求时,运行 Python 测试。

问题:整个回归花费的时间太长,因此我想根据配置的某个级别运行特定的测试子集。这需要我以某种方式通过 Gitlab 将"参数"传递给每个合并请求的 Jenkins。在评论中说"测试/api"或类似的东西?

到目前为止,我唯一的想法是也许有一个文件,该文件被推送到提交中,Jenkins 可以在运行其作业时查看该文件。这是一种方法,但我觉得必须有更好的方法,我的搜索没有产生任何结果。

如果您正在管理自己的 GitLab 实例,则可以使用钩子解析注释以提取该参数:注释比文件更好,因为这与元数据有关,而不是数据(源代码(。
另一种选择是推送一个git notes,这也是一个可以添加到提交之上的元数据。

但是,问题是合并请求没有钩子,也没有任何 webhook(问题 42570(。问题 53716 提出了一个有点复杂的替代方案。

GitLab 插件允许您从 GitLab 合并请求钩子中获取信息。您将在 gitlabMergeRequestLastCommit 变量中获得 git 提交哈希,使用它可以获得提交消息并解析它。

最新更新