在Travis-ci上使用sudo:false安装软件包

5

如何在Travis-ci上使用sudo: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。


相关:http://askubuntu.com/questions/339/how-can-i-install-a-package-without-root-access - matth
1个回答

5
是的,你可以安装一些相关的IT技术包。Travis有一个允许使用容器化环境安装的允许包白名单。你不需要使用wget、dpkg或者apt来安装,只需要在yaml文件的addons部分定义所需的包即可。详见https://docs.travis-ci.com/user/installing-dependencies/
在yaml文件中,你需要添加类似以下的内容:
addons:
  apt:
    packages:
      - ncftp
ncftp此处已被加入白名单。
如果你需要的软件包未被列入白名单,你可以设置sudo: true,这样你的构建将在非容器化环境中启动,因此你可以以root(sudo)权限安装任何你想要的软件。或者,你也可以在他们的Github上提出问题,请求将你所需的软件包添加到白名单中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接