2016-02-05 71 views
3

如何使用sudo在Travis-ci上安裝軟件包:false在travis.yml中?使用sudo在Travis-ci上安裝軟件包:false

我有我的travis.yml:

sudo: false 

install: 
    - wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu52_52.1-3ubuntu0.4_amd64.deb 
    - sudo dpkg -i libicu52_52.1-3ubuntu0.4_amd64.deb 

我有一個錯誤:

須藤:必須是setuid root的

命令「須藤dpkg -i來libicu52_52.1- 3ubuntu0.4_amd64.deb「失敗並在1期間退出。

+0

相關:http://askubuntu.com/questions/339/how-can-i-install-a-package-without-root-access – matth

回答

3

是的,你可以,至少有一些。

特拉維斯有一個whitelist of allowed packages您可以使用集裝箱環境進行安裝。而不是使用wget和dpkg或apt,你可以在你的yaml下的addons部分定義軟件包。檢查https://docs.travis-ci.com/user/installing-dependencies/

在YAML你會碰到這樣的:

addons: 
    apt: 
    packages: 
     - ncftp 

ncftp被列入白名單here

如果您需要未列入白名單的軟件包,您可以設置sudo: true,並且您的構建將在非集裝箱環境中啓動,因此您有根(sudo)訪問權限來安裝任何您想要的軟件。另外,你可以在他們的Github上提出一個問題,爲你的軟件包添加一個白名單。