Мое приложение Sapper развертывается нормально, если я сначала построю его, а затем разверну с моего локального компьютера с помощью приложения gcloud deploy.
В моем app.yaml есть только: runtime:nodejs10
для развертывания в стандартной среде.
Теперь я не могу добиться того же, когда пытаюсь использовать Gitlab CI для развертывания на git push. В моем файле .gitlab-ci.yml у меня есть 2 задания: 1 для установки npm и для запуска команды сборки, а второе - для развертывания в gcloud.
2 задания выполнены, но когда я проверяю версию, появляется ошибка 500, а в журналах написано: Error: Cannot find module '/srv/__sapper__/build'
.
Так что это заставляет меня ходить по кругу. Я пробовал переместить svelte и sapper из dev deps в зависимости в package.json, но это не помогло, я смотрел на добавление обработчиков в свой app.yaml, но меня смущает, как, я видел проблему с упоминанием sapper github что-то связанное со стройным make-файлом и проблемой, связанной с его созданием, чтобы образ докера мог его использовать, но четкого решения не предлагается ...
Мой .gitlab-ci.yml выглядит так:
production-build:
stage: build-for-prod
image: node:10
script:
- npm install
- npm run build
only:
- master
prod-deploy:
stage: production
only:
- master
needs: ["production-build"]
image: google/cloud-sdk:alpine
environment: PROD
script:
- echo $SERVICE_ACCOUNT_KEY > /tmp/$CI_PIPELINE_ID.json
- gcloud auth activate-service-account --key-file /tmp/$CI_PIPELINE_ID.json
- gcloud --quiet --project sapper1-test app deploy app.yaml --verbosity debug --no-promote
after_script:
- rm /tmp/$CI_PIPELINE_ID.json