如果您使用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工件相关推荐

  1. 在线maven托管_使用Amazon s3托管您的Maven工件

    在线maven托管 如果您使用Amazon Web Services并将Java用于项目,则Amazon S3是托管团队工件的理想场所. 它很容易设置,而且很便宜. 如果您对它们的功能不特别感兴趣,那 ...

  2. 使用Google Cloud Storage托管您的Maven工件

    如果您使用Google Cloud并将Java用于项目,那么Google Cloud Storage是托管团队工件的理想场所. 它很容易设置,而且很便宜. 如果您对它们的功能不特别感兴趣,那么它比设置 ...

  3. amazon s3_在Amazon S3上托管静态网站

    amazon s3 Static website hosting on Amazon S3 is one of the very popular use cases of Amazon S3. It ...

  4. 如何将网页部署到maven_如何通过Rultor将Maven工件部署到CloudRepo

    如何将网页部署到maven 在我以前的文章中 ,我描述了如何在Amazon S3中设置私有Maven存储库并通过Rultor进行部署. 如果您熟悉管理Amazon Web Services(AWS), ...

  5. 如何通过Rultor将Maven工件部署到CloudRepo

    在我以前的文章中 ,我描述了如何在Amazon S3中设置私有Maven存储库并通过Rultor进行部署. 如果您熟悉管理Amazon Web Services(AWS), S3和AWS Identi ...

  6. 亚马逊 各国站点 链接_使用Amazon S3和HTTPS的简单站点托管

    亚马逊 各国站点 链接 by Georgia Nola 乔治亚·诺拉(Georgia Nola) 使用Amazon S3和HTTPS的简单站点托管 (Simple site hosting with ...

  7. 【AWS 安全系列】Amazon S3 配置错误(下)

    [AWS 安全系列]Amazon S3 配置错误(下) [AWS 安全系列]Amazon S3 配置错误(下) 1. 怎样发现存储桶? a. 使用 aws cli 工具 b. 查看网站的HTTP 响应 ...

  8. 基于 Bitbucket Pipeline + Amazon S3 的自动化运维体系

    1 前言介绍 随着自动化运维水平的提高,一个基础的运维人员维护成百上千台节点已经不是太难的事情,当然,这需要依靠于稳定.高效的自动化运维体系.本篇文章即是阐述如何利用 bitbucket pipeli ...

  9. 亚马逊s3的使用方法_使用jclouds库在Amazon S3上上传

    亚马逊s3的使用方法 在Java世界中,有几种很好的方法可以将内容上传到S3存储桶-在本文中,我们将研究jclouds库为此提供的功能. 要使用jclouds –特别是本文中讨论的API,应将此简单的 ...

最新文章

  1. 根据经纬度批量计算多个点到多个点之间的距离
  2. Python 位运算符号
  3. C# 文件操作之创建文件夹
  4. Java案例:HttpClient演示
  5. Iconfont的引用与在伪元素中的图标引用
  6. django1.9 创建数据表
  7. 常见对象之String类
  8. PAT 乙级A1025 适合当算法入门练习题做
  9. 闲谈输入法、MinGW、日文字体
  10. bch码原理基于matlab,BCH码编译码matlab仿真
  11. 前端实现导入(excel文件)导出(word)文件
  12. Netty从使用到源码7_粘包半包协议与实战项目
  13. iOS最简单的方式实现在线播放音频。
  14. 十六进制与ascii码的互转(c语言),十六进制与ASCII码转换
  15. Mac Office 怎么设置单面打印
  16. DSG-01-3C4-A110-51T油研液压直动式电磁阀
  17. Delphi 2010安装及使用UniDAC安装和使用笔记
  18. Day_01 HTML
  19. Windows Phone开发基础(10)Visifire 使用详解之 AxisLabels
  20. 单片机,DSP,ARM,FPGA的特点与区别

热门文章

  1. codeforces 935E Fafa and Ancient Mathematics 语法树、动态规划
  2. 2016陕西省ACM 热身体B 种类并查集
  3. 6、oracle数据库下查询操作
  4. Linux运维常用检查网络工具
  5. Spring Boot 最佳实践
  6. Java se之动态代理
  7. CGLIB 实现代理对象API
  8. 浅析负载均衡的6种算法,Ngnix的5种算法
  9. Java的系统Property
  10. VS2012找不到EF框架实体模型的解决方法