У меня есть этот простой прототип (в основном, фиктивное приложение), созданный с помощью create-реакции-приложения и библиотек реагировать-маршрутизатор-дом и материал-пользовательский интерфейс. Я пытаюсь выполнить развертывание на страницах GitLab, но сборка завершается неудачей каждый раз.
Вот прототип: https://codesandbox.io/s/elastic-darkness-7ol93
gitlab-ci.yml
:
# Using the node alpine image to build the React app
image: node:alpine
# Announce the URL as per CRA docs
variables:
PUBLIC_URL: /
# Cache node modules - speeds up future builds
cache:
paths:
- node_modules
# Name the stages involved in the pipeline
stages:
- deploy
pages:
stage: deploy
script:
- npm install # Install all dependencies
- npm run build --prod # Build for prod
- cp public/index.html public/404.html
- 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
Ошибка вывода:
npm ERR! prototype@0.1.0 build: `react-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the prototype@0.1.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-01-24T19_12_35_870Z-debug.log
ERROR: Job failed: exit code 1
Я пробовал множество решений, в том числе использование HashRouter, добавление подпора basepath, указание разных версий узла в gitlab-ci.yml и добавление «домашней страницы». "поле для упаковки. json.
Есть ли обходной путь для этого?