How to Set Up a Private Maven Repository in Amazon S3

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

Amazon S3 是一个非常适合存储私有 Maven 构件的地方。我假设你将公共构件存放在 Maven 中央仓库,因为你希望它们对每个人都可见。私有构件是那些你不希望除了团队成员以外的任何人都能看到的构件。因此,你希望将你的 .jar 文件部署在那里,并确保它们只对你的团队可见。以下是我们在所有我们的 Java 项目中实现此目标的方法。

首先,您需要创建一个新的S3存储桶。我建议您使用项目域名和前缀来命名它。例如,对于repo.teamed.iorepo是前缀,teamed.io是域名。

对于这个存储桶,无需配置任何权限。只需通过Amazon S3控制台进行创建即可。

创建一个新的IAM用户。如果您的项目名称是“teamed”,我建议您将其命名为“teamed-maven”。

为用户添加一个新的“内联策略”。

在这里,repo.teamed.io 是您刚刚创建的 S3 存储桶的名称。

确保您为这个新用户拥有一个”访问密钥”。它的格式应该类似于这样:

密钥为20个字符(全大写),秘钥为40个字符。

将此配置添加到您的~/.m2/settings.xml文件中:

Configure pom.xml

请将以下Markdown段落从英文翻译成中文,不要翻译技术术语和专有名词:“将此配置添加到pom.xml文件中:”

然后,在 pom.xml 中配置 S3 Wagon

你已经准备好了。你只需从命令行运行Maven,就可以部署你的构件。

Configure s3auth.com

现在您想在浏览器中查看这些工件,以安全模式提供安全凭据。我建议您使用 s3auth.com,如《为S3桶提供基本HTTP身份验证》中所解释的那样。

另一个建议是配置rultor.com,以便自动部署您的工件到S3。

首先,使用此Rultor远程加密您的settings.xml文件。

而不是使用 me/test,您应该使用您的GitHub项目的名称。

因此,您将得到一个名为settings.xml.asc的新文件。将其添加到您的项目的根目录中,然后提交并推送。该文件包含了您的秘密信息,但只有Rultor服务器能够解密它。

在您的项目的根目录中创建一个.rultor.yml文件(Rultor 参考页面更详细地解释了该格式)。

现在是时候看看它是如何一起工作的了。在GitHub问题跟踪器中创建一个新的工单,并将类似以下内容的内容发布到工单中(更多关于Rultor命令的信息,请阅读)。

您将在几秒钟内收到回复。其余的工作将由Rultor完成。

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-28 at 14:33

sixnines availability badge   GitHub stars