2016-09-27 68 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