gpt4 book ai didi

postgresql - 在 Gitlab CI 上设置 postgis

转载 作者:行者123 更新时间:2023-11-29 11:36:35 28 4
gpt4 key购买 nike

我一直在尝试使用我的 django 项目设置 gitlab CI。该项目使用 postgis 扩展。完成所有这些设置后,我仍然收到无法找到 postgis.control 文件的错误

$ export PGPASSWORD=$POSTGRES_PASSWORD
$ psql -c "CREATE EXTENSION IF NOT EXISTS postgis;" -d $POSTGRES_DB -U $POSTGRES_USER -h "postgres"
ERROR: could not open extension control file "/usr/share/postgresql/11/extension/postgis.control": No such file or directory
ERROR: Job failed: exit code 1

这是我的 .gitlab-ci.yml 文件

image: python:3.6

stages:
- test

services:
- mdillon/postgis
- postgres

variables:
POSTGRES_DB: my_db
POSTGRES_USER: my_user
POSTGRES_PASSWORD: ""
TESTFOLDER: "myapp/apps/api myapp/apps/logger"
DATABASE_URL: "postgres://my_user:@mdillon-postgis/my_db"

test:
stage: test
image: mdillon/postgis
before_script:
- apt-get update -qy
- export PGPASSWORD=$POSTGRES_PASSWORD
- psql -c "CREATE EXTENSION IF NOT EXISTS postgis;" -d $POSTGRES_DB -U $POSTGRES_USER -h "postgres"
- psql -c "CREATE EXTENSION IF NOT EXISTS postgis_topology;" -d $POSTGRES_DB -U $POSTGRES_USER -h "postgres"
- apt-get install -y openjdk-8-jre-headless libjpeg-dev zlib1g-dev software-properties-common ghostscript libxslt1-dev binutils libproj-dev libgdal-dev gdal-bin memcached libmemcached-dev
- export DEBIAN_FRONTEND=noninteractive;
- pip install --upgrade pip
- pip install -r requirements/base.pip
- pip install flake8
script:
- python manage.py test $TESTFOLDER --noinput --settings=myapp.settings.gitlab_ci --parallel 4 --verbosity=2
only:
- master

最佳答案

在我的例子中,我发现是我用来连接数据库的主机导致了问题。

阅读 GitLab 文档后,我发现 GitLab 使用服务名称作为连接的主机。所以在我的例子中,当从我的 Python 应用程序连接时,我使用 mdillon-postgis 作为我的主机。

您可以在此处找到更多详细信息 https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#accessing-the-services

关于postgresql - 在 Gitlab CI 上设置 postgis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53651126/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com