5

BuildBot 中是否可以有多个源结帐步骤?我找不到任何明确的文档,但似乎在 BuildBot 中进行源签出也会将当前工作目录更改为签出目录,这意味着不清楚从另一个存储库“去”签出然后运行一个同时使用两者的脚本。

考虑http://buildbot.net/buildbot/docs/0.8.1/BuildFactory.html中的示例:

从这些步骤来看,似乎执行了 CVS 签出,然后make build运行。即BuildBot中的两个步骤,很方便。

但是,如果您从命令行执行等效操作,则需要三个步骤:

cvs co $CVSROOT
cd directory_that_was_created
make build

cd directory_that_was_created步骤在 BuildBot 中发生在哪里?

但更重要的是,如果我想要两个source.CVS(嗯,真的source.Git)步骤怎么办?运行第二步后,我在哪个目录中?第二个 repo 是否最终在第一个 repo 的子目录中?

使用 Git,我似乎可以将一个作为另一个的子模块,以确保它们都可以在一个步骤中被检出,但如果可能的话,我不希望这样做。

4

1 回答 1

4

好的,我想通了。我没有意识到每个步骤都有一个“workdir”的概念来指示“工作”发生的位置。所有步骤的默认值workdir是一个名为build.

http://buildbot.net/buildbot/docs/latest/manual/cfg-buildsteps.htmlSource Checkout -> Common Parameters -> workdir下,它确实承认源步骤是特殊的“因为它们在工作目录(比如创建工作目录本身)。”

cd这解释了为什么在我上面的示例中没有对应于命令的显式步骤。为了解决我的问题,我创建了两个Git步骤,每个步骤都有自己的workdir价值。随后ShellCommand是调用适当目录的后续步骤,知道这两个workdir目录将是彼此的兄弟。

于 2012-08-27T05:38:27.787 回答