我正在尝试使用Skaffold和IntelliJ直接在Kubernetes中进行开发,但我在使用maven时遇到了问题,因为在IntelliJ尝试初始化环境时,
Running "bash -c curl --fail --show-error --silent --location --retry 3
https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-
jdk_x64_linux_hotspot_11.0.10_9.tar.gz | tar xz --directory /layers/google.java.runtime/java --
strip-components=1"
[builder] Done "bash -c curl --fail --show-error --silent --location --retry..." (59.3720683s)
[builder] === Java - Maven (google.java.maven@0.9.0) ===
[builder] Installing Maven v3.6.3
[builder] Running "/layers/google.java.maven/maven/bin/mvn clean package --batch-mode -DskipTests --
quiet"
[builder] [ERROR] [ERROR] Some problems were encountered while processing the POMs:问题是,我的一些Spring Boot应用程序依赖项是在我们的Nexus中定义的,并且是在我的maven settings.xml中定义的镜像,这个进程不知道镜像配置,我也找不到为skaffold配置它的方法。
我尝试在skaffold.yml中设置settings.xml,如下所示
apiVersion: skaffold/v2beta11
kind: Config
build:
artifacts:
- image: myproject/myapp
jib:
args:
- --settings=C:\maven\conf\settings.xml
tagPolicy:
sha256: {}有人知道如何让'google.java.maven‘使用我的镜像配置吗?
想要答案的话..。
发布于 2021-02-23 23:38:00
Skaffold支持三个Java应用程序的开箱即用的构建器: Jib、Buildpacks和Docker。Jib构建器最容易满足您的需求。
Jib构建在您的主机上运行(vs在容器化环境中)。因为Skaffold的Jib构建器只是直接调用Maven或Gradle,所以它们使用您的帐户设置而不需要额外的配置(特别是您的$HOME/.m2/settings.xml和您的工件缓存在$HOME/.m2/repository)。你的skaffold.yaml
上面只需要一个小的缩进调整,它应该都可以工作:
apiVersion: skaffold/v2beta11
kind: Config
build:
artifacts:
- image: myproject/myapp
jib: {}
tagPolicy:
sha256: {}您可以在Skaffold示例
Docker和Buildpacks构建在一个容器中运行:也就是说,源代码是已复制放到容器里。因此,您不能引用构建上下文,就像你的$HOME/.m2/settings.xml你
可能创建模型settings.xml在您的源目录中,并引用该文件,然后使用环境变量或构建参数来传递用户名和密码。但它变得相当复杂。我们有一个悬而未决的问题允许将目录装入为Buildpacks生成器的卷,我们应该能够为Docker构建器做同样的事情。如果您真的想使用Buildpacks或Docker,该功能将更容易支持您的情况。
https://stackoverflow.com/questions/66308116
复制相似问题