2016-08-28 54 views
4

我想用buck使用buck test搭建Travis CI服務器上的C++目標(通過GitHub),但有兩件事我無法弄清楚。在travis服務器上搭建大廈

  1. 我必須在Travis服務器上安裝buck我怎樣才能使用OSX服務器而不是Ubuntu的?我在Travis文檔中看到它也提供了OS X服務器。這樣我就可以繼續做brew tap facebook/fb && brew install buck,我就完成了。
  2. buck要求指定要在存儲庫中的.buckconfig文件中使用的編譯器。但是,這隻接受編譯器使用的絕對路徑。 Travis CI配置似乎只提供了一個包含編譯器路徑的環境變量。但是,環境變量不能用於.buckconfig有沒有辦法讓我安裝一個編譯器(完全支持C++ 14的編譯器)並獲取它在Travis服務器上的安裝路徑?

編輯:我強調的問題,這樣它更容易爲沒有與所有我提到的(巴克和TravisCI)仍然回答這個問題的事情體驗誰的人。

回答

5

如何使用OSX服務器而不使用Ubuntu?

這應該是os directive的用途。

值必須linux(默認)或osx;或已知的別名之一:
ubuntu爲Linux,mac的OSX或macos的OSX

(諷刺的是,buck itself has its own tavis.yml

環境變量但是不能在.buckconfig使用。

你既可以:

  • 考慮一個sed做的.buckconfig的來自環境varible實際來替換固定的路徑開始您travisCI工作。
  • 或更換所有cxx_...()規則由genrule()中,你可以指定你想要的命令(並受益於一定的環境變量替換)
+0

感謝您的回答! 'genrule'並不覺得正確的方式來解決這個問題。在'buckconfig'文件上做一個'sed'會是一個適當的方法來解決這個問題嗎?另外,如何才能找到新的C++ 14符合編譯器位於Travis服務器上的位置?因爲現在'g ++'或'clang'不能識別'-std = C++ 14'標誌 – Curious

+0

@Curious我會用sed方法,是的。但是,關於C++ 14,您可能需要先安裝它:http://stackoverflow.com/a/35113462/6309 – VonC