标签或SHA的Buildbot Git

标签或SHA的Buildbot Git,git,buildbot,Git,Buildbot,是否有办法设置步骤以签出特定的SHA号码?文档中说可以指定一个标记,但我找不到任何关于特定SHA编号的提及(并不是说标记的格式更清晰。只设置标记名而不是分支失败)。有解决方法,而不是直接的解决方案。 在工厂中,在Git步骤拉取相关Git存储库的主存储库之后,添加一个ShellCommand步骤以基本上更改为所需的SHA/Tag: fac.addStep(ShellCommand(name="GIT at SHA", command=["git",

是否有办法设置步骤以签出特定的SHA号码?文档中说可以指定一个标记,但我找不到任何关于特定SHA编号的提及(并不是说标记的格式更清晰。只设置标记名而不是分支失败)。

有解决方法,而不是直接的解决方案。 在工厂中,在Git步骤拉取相关Git存储库的主存储库之后,添加一个
ShellCommand
步骤以基本上更改为所需的SHA/Tag:

fac.addStep(ShellCommand(name="GIT at SHA",
                        command=["git", "checkout", "76dd56c61ffa96b2cfe6b18e2fa7c054d8804508"], 
                        workdir="<GIT root>",
                        timeout=None))
fac.addStep(shell命令(name=“GIT at SHA”,
命令=[“git”,“checkout”,“76dd56c61ffa96b2cfe6b18e2fa7c054d8804508”],
workdir=“”,
超时=无)

您可以在修订属性内指定特定哈希:

setProperty(f, 'revision', SHA-HASH)
f.addStep(git(name='pull.src', mode='full', repourl=src_url,
              method='fresh', alwaysUseLatest=True, retry = (60, 5),
              description='pull.src'))

请注意,如果您已经从存储库中提取了,或者计划以后再提取另一个存储库,那么这将不起作用。buildbot在内部使用got_revision属性,假设您已经拉取了一个版本,您希望继续拉取相同的版本。在这种情况下,您必须在拉取之前/之后设置/恢复该属性。

提交ID是固定的,标记也应该是静态的。如果你仔细想想,对于一个持续集成系统来说,仅仅引用一个修订版本并没有多大意义。@poke:你说得对。然而,问题是我有三个Git存储库,我需要它们来完成构建。其中两个没有改变,但第三个正在改变。此问题适用于非更改的两个分支中的一个。对那些未更改的分支使用分支是否有问题?分支很便宜,所以只需为您的目的创建一个分支即可。但如果一个存储库依赖于另外两个存储库,那么这听起来更像是应该使用子模块。