gpt4 book ai didi

postgresql - Gradle Docker任务

转载 作者:行者123 更新时间:2023-12-02 19:04:05 24 4
gpt4 key购买 nike

对于我的本地开发任务
1.我想确保数据库正在docker容器中运行,在本例中为Postgres,我在build.gradle文件中定义了bootRun任务

bootRun{
jvmArgs = [
"-Ddb.host=jdbc:postgresql://localhost:5432/postgres",
"-Ddb.username=postgres",
"-Ddb.password=apgdb"
]
}

和docker安装在我的机器上,我只是想确保我不必手动从终端启动postgres镜像,然后执行bootRun,
我们可以创建gradle任务来确保它在bootRun的每个退出时重新启动postgres并在每次旋转应用程序时启动。

最佳答案

我使用gradle-docker-compose plugin完成此类任务。您可以创建一个定义postgres db的docker-compose.yml文件:

services:
db:
image: postgres:11
ports:
- "5432:5432"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: apgdb
POSTGRES_DB: postgres

那将是相应的 build.gradle文件:
plugins {
id "com.avast.gradle.docker-compose" version "0.8.14"
}

dockerCompose {
database {
useComposeFiles = ['docker-compose.yml']
}
}

bootRun{
dependsOn 'databaseComposeUp'
jvmArgs = [
"-Ddb.host=jdbc:postgresql://localhost:5432/postgres",
"-Ddb.username=postgres",
"-Ddb.password=apgdb"
]
}


现在,当您运行 gradle bootRun时,它将在 Spring 启动之前启动数据库。

关于postgresql - Gradle Docker任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55985865/

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