java - Maven Jib 插件 : 401 Unauthorized

标签 java maven jib

我正在使用 Maven Jib 插件将我的应用程序部署到 Gitlab docker 注册表。如果我使用 docker login registry.gitlab.com 并输入用户名和密码,我可以成功登录到 gitlab 注册表。我可以看到 ~/.docker/config.json 包含以下信息:

{
        "auths": {
                "https://registry.gitlab.com": {},
                "registry.gitlab.com": {}
        },
        "HttpHeaders": {
                "User-Agent": "Docker-Client/19.03.2 (darwin)"
        },
        "credsStore": "desktop",
        "stackOrchestrator": "swarm"
}

现在如果我尝试运行 mvn -Djib.to.auth.username=${username} -Djib.to.auth.password=${password} compile jib:build 它会失败401 未经授权的异常。我需要传递用户名和密码的原因是我想在我的 CICD 管道中运行此命令,并且需要以某种方式传递用户名和密码。我已经测试了其他方法,例如在 .m2/settings.xmlpom.xml 中设置凭据。它们都不起作用。

最佳答案

您可以在 jib 插件部分获得凭证,如下所示

 <build>
    <plugins>
        <plugin>
            <groupId>com.google.cloud.tools</groupId>
            <artifactId>jib-maven-plugin</artifactId>
            <version>1.0.0</version>
            <configuration>
                <from>
                    <image>openjdk:8u171-alpine</image>
                </from>
                <to>
                    <image>registry.gitlab.com/${project.build.finalName}:${project.version}</image>
                    <auth>
                        <username>${jib.username}</username>
                        <password>${jib.password}</password>
                    </auth>
                </to>
            </configuration>
        </plugin>
    <plugins>            
 <build>

jib.usernamejib.password 作为 settings.xml 中的属性。

注意:根据需要调整从图像。

关于java - Maven Jib 插件 : 401 Unauthorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57850321/

相关文章:

java - 回收者 View :- Multiple items get selectied when one item selected after scrolled

java - 在 java 中打印 ArrayList 时的不同输出

java - Neo4j监控管理工具: Indexing issue + connection to java embedded applicatiions

maven - 使用 Kotlin 综合属性

docker - Jib:如何在不安装的情况下使用 amazon-ecr-credential-helper?

java - gcr.io/distroless/java :11 use base version from 11:. 0.6 到 11.0.8

java - 从 Prim 的 MST 到 Dijkstra SPT 的 Java 算法

Maven依赖项重命名带有时间戳后缀的jar

maven - Maven提供的作用域范围可以传递吗?