使用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存儲桶具有讀寫訪問權限的憑據。
另一種方式是使用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方式,從而在環境變量中指定它
或者,您可以在執行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工件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梓晨是什么意思 梓晨名字含义是什么
- 下一篇: 九月英语怎么写 九月的英语单词是什么