Gitlab CI не будет использовать приложение Angular для промежуточной среды - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь настроить конвейер, который выполняет следующие действия:

Зафиксируйте новый Angular code. Создайте приложение для рецензирования в режиме реального времени для тестирования. Ручной запуск в производство. Мне удалось успешно создать приложение в конвейере, используяфайл docker и имеет правильную конфигурацию nginx для маршрутизации в промежуточную среду.После выполнения задания промежуточная среда обновляется, но ничего не происходит, и предоставленная ссылка выдает сообщение об ошибке «backend по умолчанию - 404».Буду признателен за любые рекомендации о том, как получить эту ссылку, чтобы правильно обслуживать живое угловое приложение.Заранее спасибо.

Dockerfile:

  # Stage 0, "build-stage", based on Node.js, to build and compile the frontend
  FROM tiangolo/node-frontend:10 as build-stage

  WORKDIR /app

  COPY package*.json /app/

  RUN npm install

  COPY ./ /app/

  ARG configuration=production

  RUN cd /app && npm run build --prod --configuration $configuration


  # Stage 1, based on Nginx, to have only the compiled app, ready for production with Nginx
  FROM nginx:alpine

  RUN rm -rf /usr/share/nginx/html/*

  COPY --from=build-stage /app/dist /usr/share/nginx/html

  COPY /nginx-custom.conf /etc/nginx/conf.d/default.conf

  RUN cat /etc/nginx/conf.d/default.conf

Gitlab-ci.yml Развернуть

deploy_stage:
  stage: deploy
  image: docker:stable-git
  services:
    - docker:stable-dind
  script:
    - docker build -t my-angular-project:prod .
    - docker run -d -p 80:80 my-angular-project:prod
  environment:
    name: staging
    url: http://$CI_PROJECT_PATH_SLUG-staging.$AUTO_DEVOPS_DOMAIN
  only:
    refs:
      - master
    kubernetes: active
    variables:
      - $STAGING_ENABLED

Конфигурация NGINX

server {
  listen 80;
  location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
    try_files $uri $uri/ /index.html;
  }
}

1 Ответ

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

Промежуточная среда недоступна, поскольку вы не развертываете свое приложение в этом задании.Как я вижу, вы используете кластер kubernetes.После создания образа docker вы должны поместить его, например, в реестр проекта gitlab, а затем передать его в определение развертывания (или таблицу управления) для kubernetes и применить его.Тогда вы бы развернули его в кластере.И, кроме того, сделайте конечную точку доступной, не забывайте настраивать входящие слишком кластерные перенаправления запросов на правильное развертывание на основе субдомена.

...