Проблема с выполнением lsb-release в экземпляре докера Bitbucket Pipelines
У меня есть yaml Bitbucket Pipelines, который выглядит так:
изображение: python: 3.5.1
pipelines:
branches:
master:
- step:
script:
- apt-get update
- apt-get install lsb-release -y
- curl --silent https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
- VERSION=node_5.x
- DISTRO="$(lsb-release -s -c)"
- echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | tee /etc/apt/sources.list.d/nodesource.list
- echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | tee -a /etc/apt/sources.list.d/nodesource.list
- apt-get update
- apt-get install nodejs -y
- npm install
- npm run build
- python get-pip.py
- pip install boto3==1.3.0
- python s3_upload.py io-master.fromthiscomesthat.co.uk dist io-master
Все работает хорошо, кроме DISTRO="$(lsb-release -s -c)"
терпит неудачу. Не могу найти lsb-release
исполняемый файл, даже если он успешно установлен в сценарии. я пытался find / -name lsb-release
но это только приводит к следующему:
+ find / -name lsb-release
/usr/share/doc/lsb-release
/usr/share/bug/lsb-release
... что не очень полезно.
Где исполняемый файл?
1 ответ
lsb-release
это название пакета, lsb_release
это имя двоичного файла внутри.
Как я узнал это:
- На вашем хосте установлен докер
- Извлечь образ докера и запустить контейнер для проверки
docker run -it --rm python:3.5.1 /bin/bash
- устанавливать
lsb-release
сapt-get update && apt-get install -y lsb-release
- Посмотреть файлы в упаковке
dpkg -L lsb-release
(файлы в**/bin
каталоги исполняемые)