Похоже на эту проблему. (я опишу ссылку более подробно ниже)
Проблема: при запуске Google Cloud Build появляется сообщение об ошибке:
django.db.utils.OperationalError: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/cloudsql/sample-kubernetes-268320:us-west1:cloud-build-staging/.s.PGSQL.3306"
Я следую за решением , опубликованным здесь сотрудником. Они предоставляют образец cloudbuild.yaml, за которым я следовал без особой удачи.
Работа cloudbuild.yaml
steps:
- id: proxy-install
name: alpine:3.10
entrypoint: sh
args:
- -c
- 'wget -O /workspace/cloud_sql_proxy https://storage.googleapis.com/cloudsql-proxy/v1.16/cloud_sql_proxy.linux.386 && chmod +x /workspace/cloud_sql_proxy'
waitFor: ['-']
- id: execute-with-proxy
name: python:3.7
timeout: 100s
entrypoint: sh
args:
- -c
- '(/workspace/cloud_sql_proxy -dir=/workspace -instances=[INSTANCE_CONNECTION_NAME] & sleep 2) && (pip install -r requirements.txt && python test_sql.py)'
waitFor: ['proxy-install']
Мой cloudbuild.yaml
steps:
- id: proxy-install
name: alpine:3.10
entrypoint: sh
args:
- -c
- 'wget -O /workspace/cloud_sql_proxy https://storage.googleapis.com/cloudsql-proxy/v1.16/cloud_sql_proxy.linux.386 && chmod +x /workspace/cloud_sql_proxy'
waitFor: ['-']
- id: Test
name: 'python:3.7.6-buster'
env:
- "CLOUDBUILD_TEST=True"
timeout: 100s
entrypoint: /bin/sh
args:
- -c
- '(/workspace/cloud_sql_proxy -dir=/workspace -instances=sample-kubernetes-268320:us-west1:cloud-build-staging & sleep 2) && (pip install -r requirements.txt && cd fastestfollowup && python3 manage.py test)'
waitFor: ['proxy-install']
Шаги I ' для отладки:
- Я добавил Cloud Build Service в качестве облака SQL Admin
- Я убедился, что имя моего экземпляра правильное, используя
gcloud sqlinstances describe cloud-build-staging
и копирование "имя соединения"
Редактировать: я изменил свой файл cloudbuild.yaml с
args:
- -c
- '(/workspace/cloud_sql_proxy -dir=/workspace -instances=sample-kubernetes-268320:us-west1:cloud-build-staging & sleep 2) && (pip install -r requirements.txt && cd fastestfollowup && python3 manage.py test)'
на:
args:
- -c
- '(/workspace/cloud_sql_proxy -dir=/cloudsql -instances=sample-kubernetes-268320:us-west1:cloud-build-staging & sleep 2) && (pip install -r requirements.txt && cd fastestfollowup && python3 manage.py test)'
Без эффекта.