gpt4 book ai didi

Gitlab配置postgresql服务

转载 作者:行者123 更新时间:2023-12-05 07:32:31 37 4
gpt4 key购买 nike

刚开始使用 GitLab,我似乎无法让我的配置正常工作。我正在使用以下内容:

image: maven:3.3-jdk-8-alpine

stages:
- prepare
- build

services:
- postgres:latest

variables:
POSTGRES_DB: my_database
POSTGRES_USER: runner
POSTGRES_PASSWORD: runner

prepare_db:
stage: prepare
image: postgres
script:
- export PGPASSWORD=$POSTGRES_PASSWORD
- psql -h "postgres" -U "$POSTGRES_USER" -d "$POSTGRES_DB" -c "CREATE EXTENSION \"uuid-ossp\";"

build:
stage: build
script: mvn clean test

如果我只是想编译我的代码,它工作正常,然后构建将只是 mvn clean compile 但要运行测试,我需要一个 PostgreSQL 实例。在我的代码中,我依赖于 UUID,因此我需要确保安装了 uuid-ossp 扩展。

在我的 prepare_db 作业中,我可以连接到 Postgres 实例并执行命令,我还通过发出第二个脚本命令 SELECT uuid_generate_v4(); 验证了扩展是否正确安装; 并返回一个 uuid。

当运行器进入 build 作业时,它一直告诉我 uuid_generate_v4() 函数不存在。我的 prepare_db 作业是否在不同的 Postgres 实例上运行?

最佳答案

这是因为 prepare_db 作业与构建作业完全隔离。所以基本上它不准备任何东西。要修复它,请执行后续步骤:

.prepare_db: &prepare_db |
export PGPASSWORD=$POSTGRES_PASSWORD
psql -h "postgres" -U "$POSTGRES_USER" -d "$POSTGRES_DB" -c "CREATE EXTENSION \"uuid-ossp\";"

build:
stage: build
script:
- *prepare_db
- mvn clean test

关于Gitlab配置postgresql服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51181091/

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