2016-02-05 73 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上提出一个问题,为你的软件包添加一个白名单。