如果您使用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存储帐户。
使用Azure Blob存储托管Maven工件
然后,我们将创建一个称为快照的新容器。 该容器将包含我们的快照存储库。
使用Azure Blob存储托管Maven工件
我们可以通过相同的过程来创建发布库。
请注意,无需为每个存储库创建不同的容器。 您可以在同一容器下拥有存储库。

现在,我们已经天蓝色地设置了存储帐户,我们将在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

相关文章: