Or *_*lel 2 environment-variables gradle docker spring-boot
我正在使用 gradle 构建 springboot 应用程序。
构建最终输出一个 docker 容器,我希望我的 build.gradle 支持多个环境。
我正在使用gradlew build docker
build.gradle 的 docker 部分进行构建:
docker {
dependsOn build
name "app-production"
files bootJar.archivePath, 'application.yml'
buildArgs(['JAR_FILE': "${bootJar.archiveName}"])
}
Run Code Online (Sandbox Code Playgroud)
我成功地将参数传递给 dockerfile,但现在我还想将参数传递给 build.gradle 文件。可以使用吗gradlew build docker
?
我需要这样的东西:gradlew build docker --env=qa
然后:
docker {
dependsOn build
name "app-${env}"
files bootJar.archivePath, 'application.yml'
buildArgs(['JAR_FILE': "${bootJar.archiveName}"])
}
Run Code Online (Sandbox Code Playgroud)
注意:${bootJar.archiveName}
是我的 build.gradle 中的局部变量,而不是环境变量
有任何想法吗?
您可以使用项目属性从命令行将值传递到构建脚本,如下所示:
gradlew build docker -Penv=qa
Run Code Online (Sandbox Code Playgroud)
然后在您的构建脚本中您可以访问此属性:
docker {
name "app-${env}"
// ....
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8465 次 |
最近记录: |