2016-02-05 2 views
3

Как я могу установить пакет на Travis-ci с sudo: false в travis.yml?Установить пакет на 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: должен быть УИП корень

Команда «Суда 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

Да, вы можете, по крайней мере, некоторые.

У Travis есть whitelist of allowed packages, который вы можете установить из контейнера. Вместо использования wget и dpkg или apt вы определяете пакеты в своем ямле в разделе addons. Проверьте https://docs.travis-ci.com/user/installing-dependencies/.

В YAML вы бы иметь что-то вроде:

addons: 
    apt: 
    packages: 
     - ncftp 

ncftp белый список here.

Если вам нужны пакеты, которые не включены в белый список, вы можете установить sudo: true, и ваша сборка будет запущена в неконтейнерной среде, поэтому у вас есть root (sudo), чтобы установить все, что вы хотите. Кроме того, вы можете поднять проблему в своем Github, чтобы добавить белый список для своего пакета.

Смежные вопросы