Невозможно построить проект Docker с несколькими контейнерами узлов - TravisCI - PullRequest
0 голосов
/ 14 декабря 2018

У меня довольно простая установка с конечной точкой node.js, на которой запущена экспресс, приложение реагирования и сервер nginx, выступающий в качестве шлюза для двух.Я настраиваю файлы Docker для них следующим образом:

клиент:

FROM node:alpine as builder

WORKDIR /usr/app

COPY ./package.json ./
RUN npm install
COPY ./ ./
RUN npm run build

FROM nginx
EXPOSE 3000
COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
COPY --from=builder /app/build /usr/share/nginx/html

конечная точка:

FROM node:alpine

WORKDIR /usr/app

COPY ./package.json ./
RUN npm install
COPY ./ ./

CMD ["npm", "run", "start"]

nginx:

FROM nginx
COPY ./default.conf /etc/nginx/conf.d/default.conf

Это работает довольнону и я могу docker-compose без проблем запускать локально.Теперь я хотел настроить автоматические сборки для него на Travis, используя следующий travis.yml:

sudo: required
services:
  - docker

before_install:
  - docker build -t personal-page/client-test -f ./client/Dockerfile.dev ./client

script:
  - docker run personal-page/client-test npm test -- --coverage

after_success:
  - docker build -t personal-page/client ./client
  - docker build -t personal-page/endpoint ./endpoint
  - docker build -t personal-page/nginx ./nginx
  # Log in to the docker CLI
  - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_ID" --password-stdin
  # Push images to docker hub
  - docker push personal-page/client
  - docker push personal-page/endpoint
  - docker push personal-page/nginx

Но Трэвис упрямо бросает: - Файл конфигурации сборки требуется через настройки репозитория, но конфигурация пуста.

У меня настроены переменные среды, и все пути указаны правильно.Есть идеи?

1 Ответ

0 голосов
/ 16 декабря 2018

Хорошо, это будет весело, но если кто-то столкнется с этим.Конфигурация все в порядке и работает как задумано.Дело в том, что у меня была отдельная папка в хранилище, в которой я поместил все отдельные сервисы в свои собственные папки вместе с travis.yml и docker-compose на верхнем уровне.

Файл travis.yml должен бытьоднако размещен в корневом каталоге репо.Если его в какой-либо базовой папке выдает travis: Файл конфигурации сборки требуется через настройки репозитория, но конфигурация пуста.

...