使用Amazon s3托管您的Maven工件
如果您使用Amazon Web Services并将Java用于项目,则Amazon S3是托管团队工件的理想场所。
它很容易设置,而且很便宜。 如果您对它们的功能不特别感兴趣,那么它比设置现有存储库选项(jfrog,nexus,archiva等)要简单得多。
首先,您需要指定一个支持s3的Maven旅行车。 我们将使用s3储藏车 。
让我们开始创建一个Maven项目
mvn archetype:generate -DgroupId=com.test.apps -DartifactId=S3WaggonTest -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
我们将添加一个简单的服务。
package com.test.apps;public class HelloService {public String sayHello() {return "Hello";}
}
然后,我们将添加Maven旅行车,该旅行车将上载并获取二进制文件到s3。
<build><extensions><extension><groupId>com.gkatzioura.maven.cloud</groupId><artifactId>s3-storage-wagon</artifactId><version>1.0</version></extension></extensions></build>
然后,我们将创建将托管我们的工件的s3存储桶。
aws s3 createbucket artifactbucket.
现在我们创建了存储桶。 然后我们将在我们的Maven项目中设置分发管理。
<distributionManagement><snapshotRepository><id>my-repo-bucket-snapshot</id><url>s3://my-test-repo/snapshot</url></snapshotRepository><repository><id>my-repo-bucket-release</id><url>s3://my-test-repo/release</url></repository></distributionManagement>
从Maven文档
正如repositories元素在POM中指定Maven可以下载远程工件以供当前项目使用的位置和方式的地方,而distributionManagement指定此项目在部署时将在何处(以及如何)到达远程存储库。 如果未定义snapshotRepository,则存储库元素将用于快照分发。
下一步是最关键的,这与向aws进行身份验证有关。
一种简单的方法是将aws cli配置为指向存储桶所在的区域,并具有对将托管二进制文件的s3存储桶具有读写访问权限的凭据。
aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
另一种方式是使用maven方式,并在〜/ .m2 / settings.xml中指定我们的AWS凭证。
<servers><server><id>my-repo-bucket-snapshot</id><username>EXAMPLEEXAMPLEXAMPLE</username><password>eXampLEkeyEMI/K7EXAMP/bPxRfiCYEXAMPLEKEY</password></server><server><id>my-repo-bucket-release</id><username>EXAMPLEEXAMPLEXAMPLE</username><password>eXampLEkeyEMI/K7EXAMP/bPxRfiCYEXAMPLEKEY</password></server></servers>
请注意,必须为指定的每个存储库指定凭据。
同样,我们还没有结束,因为指定存储桶的区域至关重要。
为此,您可以将其设置为Amazon方式,从而在环境变量中指定它
AWS_DEFAULT_REGION=us-east-1
或者,您可以在执行deploy命令时将其作为属性传递。
-DAWS_DEFAULT_REGION=us-east-1
现在最容易部署的部分。
mvn deploy
现在,既然已经部署了工件,则可以通过指定存储库和旅行车在另一个存储库中使用它。
<repositories><repository><id>my-repo-bucket-snapshot</id><url>s3://my-test-repo/snapshot</url></repository><repository><id>my-repo-bucket-release</id><url>s3://my-test-repo/release</url></repository></repositories><build><extensions><extension><groupId>com.gkatzioura.maven.cloud</groupId><artifactId>s3-storage-wagon</artifactId><version>1.0</version></extension></extensions></build>
而已! 接下来,您知道您的工件将被maven通过s3下载,并用作新项目中的依赖项。
翻译自: https://www.javacodegeeks.com/2018/04/host-your-maven-artifacts-using-amazon-s3.html
使用Amazon s3托管您的Maven工件相关推荐
- 在线maven托管_使用Amazon s3托管您的Maven工件
在线maven托管 如果您使用Amazon Web Services并将Java用于项目,则Amazon S3是托管团队工件的理想场所. 它很容易设置,而且很便宜. 如果您对它们的功能不特别感兴趣,那 ...
- 使用Google Cloud Storage托管您的Maven工件
如果您使用Google Cloud并将Java用于项目,那么Google Cloud Storage是托管团队工件的理想场所. 它很容易设置,而且很便宜. 如果您对它们的功能不特别感兴趣,那么它比设置 ...
- amazon s3_在Amazon S3上托管静态网站
amazon s3 Static website hosting on Amazon S3 is one of the very popular use cases of Amazon S3. It ...
- 如何将网页部署到maven_如何通过Rultor将Maven工件部署到CloudRepo
如何将网页部署到maven 在我以前的文章中 ,我描述了如何在Amazon S3中设置私有Maven存储库并通过Rultor进行部署. 如果您熟悉管理Amazon Web Services(AWS), ...
- 如何通过Rultor将Maven工件部署到CloudRepo
在我以前的文章中 ,我描述了如何在Amazon S3中设置私有Maven存储库并通过Rultor进行部署. 如果您熟悉管理Amazon Web Services(AWS), S3和AWS Identi ...
- 亚马逊 各国站点 链接_使用Amazon S3和HTTPS的简单站点托管
亚马逊 各国站点 链接 by Georgia Nola 乔治亚·诺拉(Georgia Nola) 使用Amazon S3和HTTPS的简单站点托管 (Simple site hosting with ...
- 【AWS 安全系列】Amazon S3 配置错误(下)
[AWS 安全系列]Amazon S3 配置错误(下) [AWS 安全系列]Amazon S3 配置错误(下) 1. 怎样发现存储桶? a. 使用 aws cli 工具 b. 查看网站的HTTP 响应 ...
- 基于 Bitbucket Pipeline + Amazon S3 的自动化运维体系
1 前言介绍 随着自动化运维水平的提高,一个基础的运维人员维护成百上千台节点已经不是太难的事情,当然,这需要依靠于稳定.高效的自动化运维体系.本篇文章即是阐述如何利用 bitbucket pipeli ...
- 亚马逊s3的使用方法_使用jclouds库在Amazon S3上上传
亚马逊s3的使用方法 在Java世界中,有几种很好的方法可以将内容上传到S3存储桶-在本文中,我们将研究jclouds库为此提供的功能. 要使用jclouds –特别是本文中讨论的API,应将此简单的 ...
最新文章
- 根据经纬度批量计算多个点到多个点之间的距离
- Python 位运算符号
- C# 文件操作之创建文件夹
- Java案例:HttpClient演示
- Iconfont的引用与在伪元素中的图标引用
- django1.9 创建数据表
- 常见对象之String类
- PAT 乙级A1025 适合当算法入门练习题做
- 闲谈输入法、MinGW、日文字体
- bch码原理基于matlab,BCH码编译码matlab仿真
- 前端实现导入(excel文件)导出(word)文件
- Netty从使用到源码7_粘包半包协议与实战项目
- iOS最简单的方式实现在线播放音频。
- 十六进制与ascii码的互转(c语言),十六进制与ASCII码转换
- Mac Office 怎么设置单面打印
- DSG-01-3C4-A110-51T油研液压直动式电磁阀
- Delphi 2010安装及使用UniDAC安装和使用笔记
- Day_01 HTML
- Windows Phone开发基础(10)Visifire 使用详解之 AxisLabels
- 单片机,DSP,ARM,FPGA的特点与区别