如果您使用Microsoft Azure并且将Java用于项目,则Azure Blob存储是托管团队工件的理想场所。
它很容易设置,而且很便宜。 如果您对它们的功能不特别感兴趣,那么它比设置现有存储库选项(jfrog,nexus,archiva等)要简单得多。
首先,您需要指定一个支持azure blob存储的Maven旅行车。 我们将使用Azure存储货车 。
让我们开始创建一个Maven项目
mvn archetype:generate -DgroupId=com.test.apps -DartifactId=AzureWagonTest -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
我们将添加一个简单的服务。
package com.test.apps;public class HelloService {public String sayHello() {return "Hello";}
}
然后,我们将添加Maven旅行车,该旅行车将上传并获取我们的二进制文件到天蓝色的Blob存储中。
<build><extensions><extension><groupId>com.gkatzioura.maven.cloud</groupId><artifactId>azure-storage-wagon</artifactId><version>1.0</version></extension></extensions></build>
然后,我们将创建将托管我们的工件的Azure存储帐户。
然后,我们将创建一个称为快照的新容器。 该容器将包含我们的快照存储库。 我们可以通过相同的过程来创建发布库。 请注意,无需为每个存储库创建不同的容器。 您可以在同一容器下拥有存储库。
现在,我们已经天蓝色地设置了存储帐户,我们将在maven项目中设置分发管理。
<distributionManagement><snapshotRepository><id>my-repo-bucket-snapshot</id><url>bs://mavenrepository/snapshot</url></snapshotRepository><repository><id>my-repo-bucket-release</id><url>bs://mavenrepository/release</url></repository></distributionManagement>
从Maven文档
正如repositories元素在POM中指定Maven可以下载远程工件以供当前项目使用的位置和方式那样,而distributionManagement指定此项目在部署时将在何处(以及如何)到达远程存储库。 如果未定义snapshotRepository,则存储库元素将用于快照分发。
下一步是最关键的,这与验证天蓝色有关。
您需要的是您的存储帐户名称和该存储帐户的密钥。
为了同时检索两者,您必须在“设置”部分导航至存储帐户的访问键。
然后,我们将在〜/ .m2 / settings.xml中指定存储帐户凭据
<servers><server><id>my-repo-bucket-snapshot</id><username>mavenrepository</username><password>eXampLEkeyEMI/K7EXAMP/bPxRfiCYEXAMPLEKEY</password></server><server><id>my-repo-bucket-release</id><username>mavenrepository</username><password>eXampLEkeyEMI/K7EXAMP/bPxRfiCYEXAMPLEKEY</password></server></servers>
请注意,必须为指定的每个存储库指定凭据。
现在最容易部署的部分。
mvn deploy
现在,既然已经部署了工件,则可以通过指定存储库和旅行车在另一个存储库中使用它。
<repositories><repository><id>my-repo-bucket-snapshot</id><url>bs://mavenrepository/snapshot</url></repository><repository><id>my-repo-bucket-release</id><url>bs://mavenrepository/release</url></repository></repositories><build><extensions><extension><groupId>com.gkatzioura.maven.cloud</groupId><artifactId>azure-storage-wagon</artifactId><version>1.0</version></extension></extensions></build>
而已! 接下来,您知道您的工件将被maven通过azure blob存储下载,并用作新项目中的依赖项。
翻译自: https://www.javacodegeeks.com/2018/04/host-your-maven-artifacts-using-azure-blob-storage.html