如何在travis-ci上使用sudo修复包:在travis.yml中使用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
我有一个错误:
sudo:必须是setuid root
命令“sudo dpkg -i libicu52_52.1-3ubuntu0.4_amd64.deb”失败并在1期间退出。
答案 0 :(得分:4)
是的,你可以,至少有一些。
Travis有whitelist of allowed packages您可以使用容器化环境进行安装。您可以在addons
部分下的yaml中定义包,而不是使用wget和dpkg或apt。检查https://docs.travis-ci.com/user/installing-dependencies/。
在yaml你有类似的东西:
addons:
apt:
packages:
- ncftp
ncftp
已列入白名单here。
如果您需要未列入白名单的软件包,可以设置sudo: true
,您的构建将在非容器化环境中启动,因此您可以拥有root(sudo
)访问权限以安装任何您想要的内容。或者,您可以在他们的Github上提出一个问题,为您的软件包添加白名单。