如何在 Gradle 构建中使用 S3 支持的 Maven 存储库的默认 AWS 凭证链?

2024-05-01

根据Gradle 文档 https://docs.gradle.org/2.4/userguide/dependency_management.html(示例 50.27),我们可以将 S3 支持的 Maven 存储库与 Gradle 2.4 一起使用。但是,文档中给出的唯一示例将显式 AWS 凭证传递给 S3 存储库声明:

repositories {
    maven {
        url "s3://someS3Bucket/maven2"
        credentials(AwsCredentials) {
            accessKey "someKey"
            secretKey "someSecret"
        }
    }
}

我需要做同样的事情,但我希望 Gradle 使用 AWS JDK 中的 DefaultAWSCredentialsProviderChain,而不是显式凭证。就像是:

repositories {
    maven {
        url "s3://someS3Bucket/maven2"
        credentials(AwsCredentials) {
            // Default AWS chain here?
        }
    }
}

这样,它会找到我为运行 Gradle 构建的 EC2 实例配置的实例配置文件凭证。

有办法做到这一点吗?或者,Gradle 是否只能使用构建文件中给出的显式凭据对 S3 进行身份验证?


更新版本的 Gradle 提供了内置方式 https://docs.gradle.org/current/userguide/repository_types.html#example_declaring_a_s3_backed_maven_and_ivy_repository_using_iam使用来自默认提供商链的凭据,例如:

maven {
    url "s3://myCompanyBucket/maven2"
    authentication {
       awsIm(AwsImAuthentication) // load from EC2 role or env var
    }
}

这避免了手动创建提供者链实例并传入凭证值的需要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Gradle 构建中使用 S3 支持的 Maven 存储库的默认 AWS 凭证链? 的相关文章

随机推荐

  • 使用BindingSource很慢?

    我有一个 C Windows 窗体项目 其中的窗体包含 2 个列表框和一个按钮 在 FormLoad 上 左侧列表框填充了一个列表 约 1800 个项目 其中包含有关证券的信息 ID 和名称 当用户单击按钮时 所有证券都会从左侧列表框移至右
  • Pandas ImportError:绘图需要 matplotlib

    Pandas 无法识别已安装的 matplotlib 库 这是代码 import pandas as pd import numpy as np import matplotlib pyplot as plt matplotlib inli
  • 是否可以使用 numpy 中可用的函数将二维数组修补为子数组数组?

    是否可以使用 np reshape 和 np split 函数将二维数组修补为子数组数组 import numpy as np data np arange 24 reshape 4 6 print data 0 1 2 3 4 5 6 7
  • R 中矩阵的逆

    我想知道你推荐的计算矩阵逆的方法是什么 我找到的方法似乎并不令人满意 例如 gt c rbind c 1 1 4 c 1 4 1 gt c 1 2 1 1 00 0 25 2 0 25 1 00 gt inv c Error could n
  • 条件与 eval {php} [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 然后我得到
  • Android:创建自定义形状进度条的最佳方法

    我想创建一个自定义形状的进度条 它会根据其进度改变颜色 但这几乎是一个不同的问题 那么 创建如下图所示的自定义形状进度条的最佳方法是什么 抱歉 MS Paint 绘图技巧不佳 为了拥有所有可能性 您应该创建一个从进度条派生的自定义类并完全重
  • MinGW支持MFC吗?

    我已经使用 MinGW 开发了 WinAPI 应用程序 没有出现任何问题 现在 我可以用 MFC 做同样的事情吗 我只是在这里猜测 但我认为您需要购买 Visual Studio 的副本才能获得使用 MFC 的许可证 MFC 也不因其对 C
  • 无限循环消耗 100% CPU

    我陷入了需要生成某个 Hz 的定义频率的情况 我尝试过多媒体计时器和互联网上提供的所有其他东西 但到目前为止 带有一些 if else 条件的无限循环给了我最好的结果 但这种方法的问题是它消耗了几乎所有的CPU 没有空间让其他应用程序正常工
  • 将 GDCM 图像转换为 Java BufferedImage

    我正在使用 GDCM 读取 DICOM 图像 有没有一种简单的方法可以使用 GDCM 读取 dicom 文件 然后将其转换为 Java BufferedImage 到目前为止我有以下内容 String filename C test dcm
  • 在本地运行 IPython Notebook 查看器

    我试图在我的工作中引入 IPython 笔记本 我想要做到这一点的方法之一是与同事分享我自己的笔记本工作 这样他们就能够看到创建复杂的报告并共享它们是多么容易 我显然无法使用笔记本查看器 因为我们的大部分工作都是保密的 我正在尝试在本地设置
  • DateField 未呈现为 type="date"

    class Form Form plan start DateField Plan Start validators Required 这段代码将渲染这个 html
  • ALL 的 SQL 参数

    我想知道SQL中是否有一个参数适用于所有 不是 例如 我现在正在编写一个搜索表 如果用户不在文本框中输入某些内容 则意味着忽略该特定参数并显示该字段的所有内容 我知道您可以为每种情况创建单独的 OLEDB 或 SQL 命令 并且它会起作用
  • 如何找出 gem 捆绑包将 gem 锁定在特定版本的原因?

    我正在尝试指定一个版本节俭宝石 http rubygems org gems thrift在我的宝石文件中 gem thrift gt 0 6 0 当我尝试跑步时bundle install 我收到此错误 You have requeste
  • UITextView分页启用文本截断

    我正在使用 UITextView 并启用分页 在 IB 中并以编程方式打开和关闭它 有很多文本 当启用分页滚动时 有时当前可查看文本的第一行和 或最后一行会在视图中的一半处结束 而在框架的底部或顶部则有一半在视图之外 因此您只能看到顶部或顶
  • 如何为已知行数创建具有无限列的 Angular Material Design 表?

    我创建了一个 HTML 表 它将生成无限的columns基于 数量rows在输入数据中 我尝试过使用这个帖子 https stackoverflow com questions 49868019 angular material table
  • 开发 Delphi Windows 7 应用程序的规则 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在哪里可以找到开发适用于 Windows 7 的 Delphi 应用程序时应遵循的最佳规则集 Marco 最近发表了 2 篇关于此主题的帖
  • 为什么 Asp.Net Core 2.1 WebApi 返回 500.19 错误?

    我有一个小型 webapi 服务 它可以在 Visual Studio 下工作 但不能在 IIS 下工作 我做了下一步 新应用程序已添加到 IIS 控制台中的默认网站 应用程序通过文件系统从 VS 发布到应用程序文件夹中 选择了依赖框架和可
  • 用于 MySQL 全文搜索的转义字符串

    我正在使用 Laravel 4 并设置了以下查询 if Input get keyword keyword Input get keyword search DB connection gt getPdo gt quote keyword
  • 在 Ruby 中,有没有办法重载初始化构造函数?

    在 Java 中你可以重载构造函数 public Person String name this name name public Person String firstName String lastName this firstName
  • 如何在 Gradle 构建中使用 S3 支持的 Maven 存储库的默认 AWS 凭证链?

    根据Gradle 文档 https docs gradle org 2 4 userguide dependency management html 示例 50 27 我们可以将 S3 支持的 Maven 存储库与 Gradle 2 4 一