# #ruby-on-rails #google-cloud-platform #google-cloud-build
#рубин на рельсах #google-облачная платформа #google-облачная сборка
Вопрос:
В настоящее время мне нужно выполнить настройку cloudbuild:
- id: "apply migrations" name: "gcr.io/google-appengine/exec-wrapper" entrypoint: "bash" args: [ "-c", "/buildstep/execute.sh -i gcr.io/${PROJECT_ID}/${_SERVICE_NAME} -s ${PROJECT_ID}:${_REGION}:${_INSTANCE_NAME} -e RAILS_MASTER_KEY=$RAILS_KEY -- bundle exec rails db:migrate", ] secretEnv: ["RAILS_KEY"]
При сборке я получаю следующую ошибку на этапе миграции:
Caused by: Step #3 - "apply migrations": PG::ConnectionBad: could not connect to server: No such file or directory Step #3 - "apply migrations": Is the server running locally and accepting Step #3 - "apply migrations": connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Что может привести к возникновению этой ошибки? Я не могу найти ничего по этому вопросу.
Комментарии:
1. Где находится база данных? В облачном SQL?
2. Да, это облачная база данных SQL
3. Является ли ваша база данных общедоступной? Или у вас есть только частный IP-адрес?
4. @guillaumeblaquiere он общедоступен с общедоступным IP-адресом
Ответ №1:
Ошибка связана с невозможностью подключения к базе данных, похоже, что замены работают неправильно, чтобы исправить это, убедитесь, что в ваших .env
файлах указаны правильные переменные и заполнена информация из вашего экземпляра.
Если файл содержит необходимую информацию, попробуйте удалить --substitutions
флаг и заменить переменные ( ${PROJECT_ID}
, ${_SERVICE_NAME}
, ${_INSTANCE_NAME}
и так далее) правильными значениями непосредственно в cloudbuild.yaml
файле.