我正在使用Jenkins和提供以下环境变量的Git plugin:
- GIT_COMMIT:当前的SHA
- GIT_BRANCH:当前正在使用的分支的名称,例如“master”或“origin / foo”
- GIT_PREVIOUS_COMMIT:来自同一分支的上一个构建提交的SHA(分支中第一个构建的当前SHA)
- GIT_URL:存储库远程网址
- GIT_URL_N:当存在多个遥控器时的存储库远程URL,例如GIT_URL_1,GIT_URL_2
- GIT_AUTHOR_EMAIL:提交者/作者电子邮件
- GIT_COMMITTER_EMAIL:提交者/作者电子邮件
使用Version Number Plugin,我有一个${GIT_COMMIT}
变量,按预期读取。
问题是,它是完整的32(?)字符SHA哈希。我想把它的一个子串。有没有办法在Jenkins中获取环境变量的子字符串?
答案 0 :(得分:8)
在bash中(我假设你用它标记问题后想知道的是什么),你可以使用以下语法来实现:${string:start_position:length}
你可以提取,例如通过编写哈希的前8个字符:
${GIT_COMMIT:0:8}
我从这里采取了这个解决方案:http://tldp.org/LDP/abs/html/string-manipulation.htm