如何配置JKube helm-push目标上传已有Helm Chart到Nexus仓库
JKube 上传已有Helm Chart到Nexus仓库配置方案
你遇到的报错是因为JKube的helm-push目标默认读取自动生成的Chart路径target/classes/META-INF/jkube/kubernetes,当你不需要自动生成Chart、且该路径不存在时就会触发异常。你可以通过修改插件配置跳过默认生成逻辑、指定已有Chart路径实现需求,具体配置步骤如下:
1. 关闭默认Chart生成逻辑
在pom.xml的JKube插件<configuration>标签下添加以下参数,跳过资源和Chart的自动生成步骤:
<!-- 跳过k8s资源自动生成 --> <jkube.skip.resource>true</jkube.skip.resource> <!-- 跳过默认Helm Chart自动生成 --> <jkube.skip.helm>true</jkube.skip.helm> <!-- 替换为你本地已有Helm Chart的存放路径 --> <jkube.helm.sourceDirectory>${project.basedir}/your-local-chart-path</jkube.helm.sourceDirectory>
2. 配置Nexus Helm仓库信息
在同一份<configuration>标签下添加Nexus仓库的推送配置:
<helm> <repositories> <repository> <id>nexus-helm-repo</id> <url>http://your-nexus-address/repository/helm-repo/</url> <!-- 仓库需要鉴权则补充以下两个配置,不需要则删除 --> <username>nexus-username</username> <password>nexus-password</password> <type>HELM</type> </repository> </repositories> <!-- 指定推送使用的仓库id,和上面配置的repository.id保持一致 --> <pushRepository> <id>nexus-helm-repo</id> </pushRepository> </helm>
3. 执行上传命令
配置完成后直接运行以下命令即可完成已有Chart的推送:mvn k8s:helm-push
常见适配配置
- 若Nexus仓库使用自签名HTTPS证书,可添加
<jkube.helm.insecureSkipTlsVerify>true</jkube.helm.insecureSkipTlsVerify>跳过证书校验 - 若需要推送前自动打包Chart,可保留
<jkube.skip.helm>false</jkube.skip.helm>,同时保留自定义sourceDirectory配置,JKube会基于你指定的目录打包Chart再推送,不会覆盖原有文件
内容的提问来源于stack exchange,提问作者posthumecaver
相关产品推荐
相关产品推荐

