Развертывание страниц GitLab для разных веток - PullRequest
0 голосов
/ 09 апреля 2019

Я развертываю свое приложение React с помощью GitLab Pages, и оно работает хорошо.

Вот мой gitlab-ci.yml:

# Using the node alpine image to build the React app
image: node:alpine

# Announce the URL as per CRA docs
# https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#advanced-configuration
variables:
  PUBLIC_URL: /
# Cache node modules - speeds up future builds
cache:
  paths:
  - client/node_modules

# Name the stages involved in the pipeline
stages:
- deploy

# Job name for gitlab to recognise this results in assets for Gitlab Pages
# https://docs.gitlab.com/ee/user/project/pages/introduction.html#gitlab-pages-requirements
pages:
  stage: deploy
  script:
    - cd client
    - npm install # Install all dependencies
    - npm run build --prod # Build for prod
    - cp public/index.html public/404.html # Not necessary, but helps with https://medium.com/@pshrmn/demystifying-single-page-applications-3068d0555d46
    - mv public _public # CRA and gitlab pages both use the public folder. Only do this in a build pipeline.
    - mv build ../public # Move build files to public dir for Gitlab Pages
  artifacts:
    paths:
    - public # The built files for Gitlab Pages to serve
  only:
    - master # Only run on master branch

Теперь я только что создал версию на основев моей ветке develop

Я хотел бы иметь 2 версии моего приложения React с 2 разными URL.Как я могу это сделать?

Например, прямо сейчас у меня есть:

my-react-app.com, связанный с master веткой

Как я должен иметь

dev.my-react-app.com или даже my-react-app.gitlab.io связаны с develop веткой?

1 Ответ

1 голос
/ 09 апреля 2019

Каждый проект GitLab может иметь не более одного сайта Pages.Я не могу найти явную ссылку для этого, но документация для .gitlab-ci.yml говорит:

Имейте в виду, что страницы по умолчанию не зависят от ветвей / тегов, и их развертывание зависит отисключительно на том, что вы указываете в .gitlab-ci.yml.Если вы не ограничите задание pages параметром only , то при каждом добавлении нового коммита к какой-либо ветви или тегу страницы будут перезаписаны.

Без параметра only обновления для любой ветви публикуются на том же сайте Pages, перезаписывая все, что там есть.С параметром only только предоставленная ветвь будет запускать компоновку страниц.

...