在jenkins作业中使用git repo name作为ENV变量

时间:2014-08-01 20:17:24

标签: git jenkins

我试图找出一种方法来获取jenkins作业中的远程git项目名称作为env变量。我想将项目名称用作"本地子目录名称"当詹金斯克隆回购时。有没有办法做到这一点?

可能类似于${GIT_REPO_NAME}

我知道有${GIT_REPO_URL}并且它包含项目名称,但我需要能够在本地子目录字段中使用它。

如果某人有更好的解决方案,我会全力以赴。

谢谢你!

3 个答案:

答案 0 :(得分:0)

不确定这是否适用于您的特定用例,但我认为我会提供它以防万一:

默认情况下, Jenkins 会将 git repo克隆到作业的工作区的根目录中。然后,您可以使用 Jenkins 设置的内置$WORKSPACE来引用任何脚本中的git根目录,并且我发现它非常简单易用。

答案 1 :(得分:0)

这是我用于Github组织构建的内容:

CUDA_VISIBLE_DEVICES

默认为作业名称,因此即使您不使用github组织插件,但确实使用与您的git repo名称匹配的作业名称,您应该全部设置。

答案 2 :(得分:0)

这是一个简单的单行代码:

env.GIT_REPO_NAME = env.GIT_URL.replaceFirst(/^.*\/([^\/]+?).git$/, '$1')

/^.*\/([^\/]+?).git$/是一个正则表达式,仅创建回购名称的反向引用。