Private Artifact Manager using Amazon S3
Project description
Private Artifact Manager using Amazon S3
Features
Easy & lightweight artifact manager for Java/Scala
Especially optimized for all-in-one package (e.g. the result of sbt dist or sbt assembly)
No database or extra servers needed except Amazon S3
Quite simple command line interface (CLI)
Integrate your daily build & deploy tasks
Dependencies
Python 2.6 / 2.7
pytz
python-dateutil
GitPython >= 0.3.5
boto >= 2.38.0
moto (for testing)
Installation
pip command may need sudo
Operation |
Command |
---|---|
Install |
pip install artifact-cli |
Upgrade |
pip install --upgrade artifact-cli |
Uninstall |
pip uninstall artifact-cli |
Check installed version |
artifact-cli --version |
Help |
artifact-cli -h |
Quickstart Guide
1. Create your Amazon Web Services account (if need)
The responsibility of the AWS’s charge is your own.
2. Create IAM User to access Amazon S3 (if need)
Manage your own access key ID and secret access key to call the APIs.
3. Create Amazon S3 bucket
Set permissions to the IAM user.
4. Make configuration file
Create ~/.artifact-cli file and write credentials for AWS like this:
[default]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
bucket = your-bucket-name
region = your-region (e.g. ap-northeast-1, us-east-1)
You can override these settings by specifying command line options or environment variables.
Command Line Options (will override the settings from environment variables)
Option |
Description |
---|---|
--access ACCESS_KEY |
AWS access key. |
--secret SECRET_KEY |
AWS secret key. |
--bucket BUCKET_NAME |
S3 bucket name. |
--region REGION |
Region name of the S3 bucket. |
Environment Variables
Variable Name |
Description |
---|---|
AWS_ACCESS_KEY_ID |
AWS access key. |
AWS_SECRET_ACCESS_KEY |
AWS secret key. |
AWS_DEFAULT_REGION |
Region name of the S3 bucket. |
5. Check connection
Now, you are ready for using art command in the shell. Just list your artifacts:
$ art list GROUP_ID [INFO] No artifacts.
Of course, there are no artifacts!
6. Build the artifact
Building is outside the reach of this tool. In other words, you can build as you like.
7. Upload the artifact
In the builder’s environment, you can upload the artifact to Amazon S3:
$ art upload GROUP_ID /path/to/your-artifact-0.0.1.jar
Specify group id and your local file path.
8. View the artifact information
To view the index data, run art list or art info.
9. Download the artifact
Login to the deployer’s environment, then download the artifact from Amazon S3:
$ art download GROUP_ID /path/to/deployers/your-artifact-0.0.1.jar 1
To download the latest revision, use latest keyword. (case-sensitive):
$ art download GROUP_ID /path/to/deployers/your-artifact-0.0.1.jar latest
10. Deploy
Deploy the artifact any way you like!
11. And then …
For further information, type art -h.
Amazon S3 Paths
The structure of the paths is the following:
your-bucket-name ├── group.id.1 // group ID │ ├── .meta // meta data directory for each group │ │ ├── index-awesome-project.json // index data is written as JSON for each artifact ID │ │ └── index-play-project.json │ ├── awesome-project // artifact ID │ │ ├── 0.0.1 // version │ │ │ ├── 1 // revision (auto assigned, starting from 1) | │ │ │ └── awesome-project-0.0.1.jar | │ │ ├── 2 | │ │ │ └── awesome-project-0.0.1.jar | │ │ ├── 3 | │ │ │ └── awesome-project-0.0.1.jar | │ │ └── 4 | │ │ └── awesome-project-0.0.1.jar │ │ └── 0.0.2-SNAPSHOT │ │ ├── 1 | │ │ └── awesome-project-0.0.2-SNAPSHOT.jar | │ └── 2 | │ └── awesome-project-0.0.2-SNAPSHOT.jar │ └── play-project │ └── 0.0.1 │ └── 1 | └── play-project-0.0.1.zip └── group.id.2 ├── .meta │ └── index-awesome-project.json └── awesome-project // completely separated to the group.id.1's artifact └── 0.0.1 └── 1 └── awesome-project-0.0.1.zip
Notes
This tool supports only artifact-id-level concurrency.
Simultaneous uploading of the artifacts with same artifact id could let repository broken.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file artifact-cli-0.1.10.tar.gz
.
File metadata
- Download URL: artifact-cli-0.1.10.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ab655e902b9ed3f8c86ae9c7cd936b99848275b277d6c86fdf7db10005a578e |
|
MD5 | 30de1b58527d8f3acd1d2ea72a8643a1 |
|
BLAKE2b-256 | 7c0de69315612c79227ebee77d1d0c7a52cab5c6a31a8b7fe756e6a10f23fc25 |