Jenkins子串环境变量

Ben*_*Ben 2 bash substring environment-variables jenkins

我正在使用Jenkins和Git插件,它提供以下环境变量:

  • GIT_COMMIT:当前的SHA
  • GIT_BRANCH:当前正在使用的分支的名称,例如"master"或"origin/foo"
  • GIT_PREVIOUS_COMMIT:来自同一分支的先前构建的提交的SHA(分支中第一个构建的当前SHA)
  • GIT_URL:存储库远程URL
  • GIT_URL_N:存在多个远程URL时的存储库远程URL,例如GIT_URL_1,GIT_URL_2
  • GIT_AUTHOR_EMAIL:提交者/作者电子邮件
  • GIT_COMMITTER_EMAIL:提交者/作者电子邮件

使用版本号插件,我有一个${GIT_COMMIT}按预期读取的变量.

问题是,它是完整的32(?)字符SHA哈希.我想把它的一个子串.有没有办法在Jenkins中获取环境变量的子字符串?

Ako*_*rth 9

在bash中(我假设这是你用它标记问题后你想知道的),你可以使用这个语法来做到这一点: ${string:start_position:length}

您可以通过编写以下内容来提取例如哈希的前8个字符:

${GIT_COMMIT:0:8}
Run Code Online (Sandbox Code Playgroud)

我从这里采取了这个解决方案:http://tldp.org/LDP/abs/html/string-manipulation.htm