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

标签 docker travis-ci

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

5年前关闭。




Improve this question




如何在 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: must be setuid root

The command "sudo dpkg -i libicu52_52.1-3ubuntu0.4_amd64.deb" failed and exited with 1 during .

最佳答案

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

特拉维斯有一个 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并且您的构建将在非容器化环境中启动,因此您具有 root ( sudo ) 访问权限以安装您想要的任何内容。或者,您可以在他们的 Github 上提出问题,为您的包添加白名单。

关于docker - 使用 sudo :false 在 Travis-ci 上安装软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35222589/

相关文章:

node.js - 使用 PhantomJS 和 Travis CI 运行 Intern 测试

docker - 评估 Dockerfile 中的 bash 表达式

docker - 如何使用 Powershell 从 Archive 获取最新的二进制版本

java - 无法从 Docker 中提取 Java 8 镜像

python - 导入错误: No module named libxml2 within Travis build

python - Travis 和 OpenCV 3 - 如何安装?

travis-ci - 找不到类 'PHPUnit_Framework_TestCase'

python - 阻止Docker在每个版本上安装python软件包要求(没有requirements.txt)

java - Alpine Linux,非根用户,Java 7,Setcap : libjli. 所以:没有这样的文件或目录(java 需要)

node.js - 运行 Jest 测试导致 'TypeError: Cannot read property ' Symbol(Symbol.toStringTag )' of undefined'