У меня есть базовое приложение React, созданное с использованием: create-react-app
.
Мой исходный код размещен на GitHub.
Я хочу использовать облачную платформу Google для размещения своего приложения React.
(у меня также есть собственный домен).
Каждый раз, когда происходит смена / слияние / изменение кодасделано в ветке master
, я хотел, чтобы размещенное приложение на GCP обновляло содержимое моего сайта с master
.
Ранее мне не удавалось следовать инструкциям Google по настройке процесса непрерывной интеграции для обновления и развертывания моего приложения.
Я использовал приложение Google Cloud Build GitHub, чтобы обновить и собрать мое приложение, но безуспешно.
Мой cloudbuild.yaml
файл, состоящий из:
steps:
- name: 'gcr.io/cloud-builders/npm'
args: ['install']
- name: 'gcr.io/cloud-builders/npm'
args: ['build']
У меня также было настроено ведро с рабочим URL-адресом appspot.com
(после клонирования и развертывания приложения с использованием встроенной консоли навеб-сайт GCP), который был сопоставлен с моим пользовательским доменом.
Мои попытки обновить эту развернутую версию потерпели неудачу.
В отчаянии от попыток достичь желаемого рабочего процесса я переключился на Netlify, который позволил мне достичь того, чего хотел, и удалил свой проект изGCP.
Сейчас я пытаюсь запустить другой проект с нуля (на GCP), и мне потребовалась некоторая помощь, чтобы убедиться, что я правильно настроил этот новый проект, пошаговое руководство, если выбудут.Я абсолютный новичок, когда дело доходит до развертывания приложений на производственном уровне, я только практиковался и разрабатывал приложения уровня 'dev' на своей собственной машине, и я не нашел нигде другого, который бы помог мне достичь того, что я хотел бы сделать.
Рабочий процесс, который я пытаюсь выполнить, выглядит следующим образом:
- Я делаю изменения в своем коде в главной ветви
- Изменения передаются в GitHub / theглавная ветка
- Изменения извлекаются из GitHub в GCP, а веб-сайт обновляется
- Я вижу изменения, когда посещаю свой пользовательский домен
Как мне добитьсяэто правильно?Или GCP не идеальное решение для этого?