每次向git存储库中的特定分支推送时,我都有一条管道来构建Docker映像。问题在于语义版本控制使用“ +”字符在版本名称中指定元数据部分。我需要用镜像名称替换Docker支持的另一个字符。是否可以替换该字符或使用自定义版本名称?
我正在使用nebula.release来推断项目版本。
id 'nebula.release' version '10.1.1'
jib {
to {
image = "registry.gitlab.com.uy:5005/project/app:$version"
auth {
username = System.getenv('CI_REGISTRY_USER')
password = System.getenv('CI_REGISTRY_PASSWORD')
}
tags = ['latest']
}
container {
ports = ['8080']
environment = [
SPRING_OUTPUT_ANSI_ENABLED: 'ALWAYS',
]
useCurrentTimestamp = true
}
allowInsecureRegistries = true
}
jibDockerBuild.dependsOn bootJar
这是错误:
- 出了什么问题:任务':jib'的执行失败。
com.google.cloud.tools.jib.image.InvalidImageReferenceException:图片参考无效: Registry.gitlab.com.uy:5005/project/app:1.0.0-rc.1.dev.0+108db18
我在build.gradle文件中创建了此任务,有什么办法可以重复使用它?
task cleanVersion {
ext.sanitizeVersion = { version ->
return version.toString().replace('+', '_')
}
doLast {
println sanitizeVersion("$version")
}
}
我可以使用一些帮助。预先感谢您的宝贵时间。
答案 0 :(得分:1)
由于构建脚本是代码,并且public function sendResetLinkEmail(Request $request)
{
$this->validateEmail($request);
// We will send the password reset link to this user. Once we have attempted
// to send the link, we will examine the response then see the message we
// need to show to the user. Finally, we'll send out a proper response.
$response = $this->broker()->sendResetLink(
$request->only('email')
);
return back()->with('status', "If you've provided registered e-mail, you should get recovery e-mail shortly.");
}
是扩展名,jib
是检索属性(与任务输出或生成的内容相比),因此可以使用与您当前的project.version
任务来配置扩展名。
cleanVersion