Java 使用Hudson构建时保存Git SHA1,类似于CVS的CVS_分支标记
我们已经从CVS迁移到Git。我们的Hudson build脚本用于将CVS_BRANCH环境变量的值与Hudson build_ID一起保存在生成的构建中,以便以后进行调查 我无法弄清楚Hudson(或Git插件)如何向ant脚本显示当前提交的Git SHA1名称,因为我找不到任何明确的来源,说明我应该在哪里查找 如果git存在于环境中,我不希望调用git来获取它,但如果有必要,可以这样做Java 使用Hudson构建时保存Git SHA1,类似于CVS的CVS_分支标记,java,git,ant,hudson,Java,Git,Ant,Hudson,我们已经从CVS迁移到Git。我们的Hudson build脚本用于将CVS_BRANCH环境变量的值与Hudson build_ID一起保存在生成的构建中,以便以后进行调查 我无法弄清楚Hudson(或Git插件)如何向ant脚本显示当前提交的Git SHA1名称,因为我找不到任何明确的来源,说明我应该在哪里查找 如果git存在于环境中,我不希望调用git来获取它,但如果有必要,可以这样做 我错过了什么?好吧,如果您真的不想调用git命令(git descripe或git rev parse)
我错过了什么?好吧,如果您真的不想调用git命令(
git descripe
或git rev parse
),那么您可以执行以下操作:
ref:refs/heads/
(所谓的symref),或者它包含当前提交的SHA-1 id(所谓的“分离头”又名匿名分支:“(无分支)”,在git branch
输出中
但是我不确定这是否值得。好吧,如果您真的不想调用git命令(
git descripe
或git rev parse
),那么您可以执行以下操作:
ref:refs/heads/
(所谓的symref),或者它包含当前提交的SHA-1 id(所谓的“分离头”又名匿名分支:“(无分支)”,在git branch
输出中
但我不确定它是否值得。事实证明,它支持“rev parse HEAD”命令,该命令与
结合使用,完全符合我的要求,即将SHA1转换为ant属性,以便我以后可以使用它。事实证明它支持“rev parse HEAD”命令,该命令与
结合使用,完全满足了我的要求,即将SHA1放入ant属性中,以便我以后可以使用它。要使用ant和JGit从git获取buildnumber,您可以使用它。它可以将标记名、分支名、提交SHA1和当前分支中提交的计数作为ant变量提供给您。要从m git使用Ant和您可以使用的JGit。它可以给您标记名、分支名称、提交sha1和当前分支中的提交计数作为Ant变量。公开了git_提交环境变量。公开了git_提交环境变量。这与@VonC没有关系吗,是的,但我可能会接受sha1代码-I want能够回到构建时的确切提交。ørn SHA1很好(但不是很令人满意),更好(但意味着调用git,这是您不想要的)。分支的概念是“暂时的”,因为可以随意删除/重命名分支。“不想要”太强,“不想要”更好。我希望Hudson告诉我它知道什么,而不必使用启发式来推导可能是真的或可能不是真的。这与否有关?@VonC,是的,很接近,但我可能可以接受SHA1代码-我希望能够回到构建时的确切提交。ørn SHA1很好(但不是很令人满意),更好(但意味着调用git,这是你不想要的)。分支的概念是“暂时”的,因为分支可以随意删除/重命名。“不想要”太强,“不喜欢”更好。我希望Hudson告诉你它知道什么,而不必使用启发式来推导出可能是真的或可能不是真的东西。