#amazon-s3 #gitlab #artifact #bucket #release #version #regex

bin+lib gitlab_s3_releaser

Tool to create GitLab releases from S3 bucket

6 releases

0.1.5 Jun 7, 2024
0.1.4 Jun 4, 2024
0.1.3 Mar 25, 2024

#1809 in Command line utilities

Download history 50/week @ 2024-07-30 5/week @ 2024-09-24

528 downloads per month

MIT license

25KB
362 lines

GitLab S3 Releaser

Build

A tool to create GitLab releases from versioned files stored in S3 bucket.

Installation

cargo install gitlab-s3-releaser

Usage

Typical usage - publish some external CI-created artifacts to GitLab releases if an internal GitLab CI is not used.

The releaser scans objects in the S3 bucket with a regular expression and finds artifacts. The version of artifact is deduced from version in the regex. For all these artifacts, a binary package and a corresponding release are created for the specific project (parameter project).

Deduce S3 object template example with version named group, for example:

tarballs\/v(?<version>[0-9\.]+)[^\/]*\/.*

Invoke releaser

gitlab-s3-releaser --bucket s3-bucket.tld.org --package=release \
  --path-template "tarballs\/v(?<version>[0-9\.]+)[^\/]*\/.*" \
  --gitlab-host=gitlab.tld.org --project="dev/gitlab-project" 

To view more logs, specify RUST_LOG=info or debug env variable.

AWS profile and endpoint could be specified using environment variables AWS_PROFILE and AWS_ENDPOINT_URL.

Dependencies

~41MB
~590K SLoC