У меня довольно простая установка с конечной точкой 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
Но Трэвис упрямо бросает: - Файл конфигурации сборки требуется через настройки репозитория, но конфигурация пуста.
У меня настроены переменные среды, и все пути указаны правильно.Есть идеи?