Дженкинс внутри докера на Windows 10 Pro. Сборка не удалась - docker-compose не найден - PullRequest
0 голосов
/ 17 марта 2019

Я пытаюсь настроить Jenkins в докере на Windows 10 pro. У меня есть приложение Python, которое успешно работает по команде powershell. Тем не менее, когда я запускаю следующую команду в build execute shell в Jenkins,

приложение запуска docker-compose sh -c python manage.py test && flake8

Я получаю сообщение об ошибке

/ tmp / jenkins7355151386125740055.sh: 2: /tmp/jenkins7355151386125740055.sh: docker-compose: not found Build шаг «Выполнить оболочку», помеченный как сборка «Завершено»: FAILURE

Что все, что я пробовал:

  1. установленный docker-compose с помощью pip install docker-compose
  2. установить путь docker-compose в переменной среды-пути
  3. создал файл .env в том же каталоге, что и docker-compose.yml, и включил в него следующую переменную COMPOSE_CONVERT_WINDOWS_PATHS=1
  4. Мой docker-compose.yml это:
version: "3"

services:
  app:
    build:
      context: .
    ports:
      - "8000:8000"
    volumes:
      - ./app:/app
    command: >
      sh -C "python manage.py runserver 0.0.0.0:8000"

Может кто-нибудь помочь мне выяснить, где я ошибаюсь и как я могу исправить ошибку docker-compose not found?

1 Ответ

0 голосов
/ 18 марта 2019

добавить путь к файлу env в файл docker-compose:

version: "3"

services:
  app:
    build:
      context: .
    env_file:
     - {PATH/TO/ENV_FILE}
    ports:
      - "8000:8000"
    volumes:
      - ./app:/app
    command: >
      sh -C "python manage.py runserver 0.0.0.0:8000"

Также, если вы собираете контейнер в Jenkins, убедитесь, что у вас есть настройка docker-compose на сервере Jenkins (должен быть подключаемым модулем)-in)

Вы можете попробовать запустить это в начале вашего сценария оболочки в Jenkins.

curl -L --fail https://github.com/docker/compose/releases/download/1.23.2/run.sh -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
...