如何使用 travis.yml 中的 sudo:false 在 Travis-ci 上安装软件包?
我有我的 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 退出。
是的,你可以,至少有一些。
特拉维斯有一个允许的包的白名单 https://github.com/travis-ci/apt-package-whitelist您可以使用容器化环境进行安装。您可以在 yaml 下定义软件包,而不是使用 wget 和 dpkg 或 aptaddons
部分。查看https://docs.travis-ci.com/user/installing-dependency/ https://docs.travis-ci.com/user/installing-dependencies/.
在 yaml 中你会有类似的内容:
addons:
apt:
packages:
- ncftp
ncftp
已列入白名单here https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise#L8946.
如果您需要不在白名单中的包,您可以设置sudo: true
并且您的构建将在非容器环境中启动,因此您拥有root权限(sudo
)访问以安装您想要的任何内容。或者,您可以在他们的 Github 上提出问题,为您的包添加白名单。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)