Skip to content

globalbioticinteractions/maven-s3-wagon

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Maven Central

Maven S3 Wagon

This wagon enables communication between Maven and Amazon S3.

pom's with a reference to this wagon can publish build artifacts (.jar's, .war's, etc) to S3.

This project is based on https://github.com/jcaddel/maven-s3-wagon/ and https://github.com/seahen/maven-s3-wagon

It was forked to upgrade to the latest s3 sdk, reduce dependencies on no-longer maintained libraries (e.g., kuali-s3) and to help support non-aws endpoints.

Documentation

Usage

Add this to the build section of a pom:

    <build>
      <extensions>
        <extension>
          <groupId>org.globalbioticinteractions</groupId>
          <artifactId>maven-s3-wagon</artifactId>
          <version>[S3 Wagon Version]</version>
       </extension>
      </extensions>
    </build>

Add this to the distribution management section:

    <distributionManagement>
      <site>
        <id>s3.site</id>
        <url>s3://[S3 Bucket Name]/site</url>
      </site>
      <repository>
        <id>s3.release</id>
        <url>s3://[S3 Bucket Name]/release</url>
      </repository>
      <snapshotRepository>
        <id>s3.snapshot</id>
        <url>s3://[S3 Bucket Name]/snapshot</url>
      </snapshotRepository>
    </distributionManagement>

Add server entries in maven's settings.xml

    <servers>
      <server>
        <id>[repository id]</id>
        <username>[AWS Access Key ID]</username>
        <password>[AWS Secret Access Key]</password>
      </server>
    </servers>

When using non-AWS s3 endpoints (e.g., using https://min.io), please add your own endpoint like:

    <servers>
      <server>
        <id>[repository id]</id>
        <username>[AWS Access Key ID]</username>
        <password>[AWS Secret Access Key]</password>
        <configuration>
          <endpoint>https://s3.example.org</endpoint>
        </configuration>
      </server>
    </servers>

And setup one of the supported authentication techniques (see below)

If things are setup correctly, $ mvn deploy will produce output similar to this:

[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ kuali-example ---
Uploading: s3://maven.kuali.org/release/org/kuali/common/kuali-example/1.0.0/kuali-example-1.0.0.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

About

A Maven Wagon provider for accessing Amazon's Simple Storage Service (S3)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%