2016-09-27 72 views
0

使用特拉维斯,我自动化的Docker的每一个建立到abc123分支。特拉维斯条件分支的sudo

为了使码头工人在那里运行,特拉维斯需要sudo: requiredvirtualization setup

它适用于每一个分支,但使用基于容器的构建具有另一个优点(如速度,例如),我想在每个不是abc123的分支上运行版本为sudo: false

是否有可能在特拉维斯的某个特定分支有sudo配置?

+0

您可以使用[构建矩阵](https://docs.travis-ci.com/user/customizing-the-build#Build-Matrix)来做到这一点。大概。 –

回答

0

您可以使用环境变量TRAVIS_SUDO来区分两个版本。

他们的文档的当前版本,这包括:

TRAVIS_SUDOtruefalse基于sudo是否启用。

来源:https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables


另一种解决方案是在不同的分支不同.travis.yml,但合并来回可以使这个难以维持。

+0

TRAVIS_SUDO envvar与他们想要的相反。它会告诉你什么是sudo status _is_,但它不会让你根据分支来设置它。 – hraban

+0

正确。我希望我的构建脚本的行为有所不同,具体取决于envvar。 – kronn

+0

不幸的是,travis.yml文件中的sudo条目不能基于该envvar动态设置。这是这个问题的关键。 – hraban