我有一个多模块项目,我试图使用gradle 7.5.1和jib构建每个服务工件并将其部署到ECR。
我有一个~/..docker/config.json文件
{
"credsStore": "desktop"
}
{
"credHelpers": {
"public.ecr.aws": "ecr-login",
"xxxxxxx.dkr.ecr.us-east-1.amazonaws.com": "ecr-login"
}
}我的AWS密钥在~/.AWS/凭据中
我的每个模块都有一个settings.gradle,它将rootProject.name定义为服务(artifactId),以及插件‘maven-发布’。
在我的主要项目中,我有一个build.gradle
plugins {
id 'java'
id 'groovy'
id 'com.google.cloud.tools.jib' version '3.3.0'
id 'maven-publish'
}
..
jib {
from {
image = 'azul/zulu-openjdk:17-jre'
}
to {
image = 'xxxxxxx.dkr.ecr.us-east-1.amazonaws.com/${rootProject.name}'
// I have also tried image = 'xxxxxxx.dkr.ecr.us-east-1.amazonaws.com/${artifactId}'
}
}当我试图通过gradle jib构建它们时,我得到以下错误:
> Task :jib FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':jib'.
> Invalid image reference xxxxxxx.dkr.ecr.us-east-1.amazonaws.com/${rootProject.name}, perhaps you should check that the reference is formatted correctly according to https://docs.docker.com/engine/reference/commandline/tag/#extended-description
For example, slash-separated name components cannot have uppercase letters堆栈跟踪还提到了无效引用。
我正在学习一些教程和Google文档,但是我不知道我做错了什么--其他人知道吗?
发布于 2022-09-26 20:13:07
使用双引号而不是单引号使Gradle展开属性。
https://stackoverflow.com/questions/73857886
复制相似问题