A DevOps automation tool for incrementing version numbers and git repo management
Project description
SourceAssist
Purpose
There is a lack of "smart" ways to deal with automated semantic versioning across various coding languages as well Docker and OCI containers. Microsoft's stack has a couple of tools that are able to extract git tags during compile time, completely. Not all languages support this defaultly, or is very disjointed. SourceAssit aims to solve 2 major problems: automatic sematic versioning increments, and building/repository management aid for DevOps pipelines. Some built in features include: building, tagging and version managament of docker containers with a configuation file that watches changes to dockerfiles. Automatic version increments given a list of files, commiting changes and pushing back to a remote.
Installation
Pip
pip install source-assist
Docker/OCI
docker pull projectinitiative/source-assist:latest
# OR
docker pull ghcr.io/projectinitiative/source-assist:latest
Usage
SourceAssist is mapped to sa once installed.
sa --help will display all of the current subcommands present. Below is a brief overview of the included subcommands:
git
push: Push and changes and commits back to the remote the repo was originally pulled from. Typically used by a CI/CD agent such as Jenkins or GH actions.
version
get: Given a list of files, pull and print all the version numbers found. Possible use-case would be for build scripts or commit messages/tags that need to get the version numbers of one or multiple files.
bump: Given a list of files, search through and bump all of the version numbers by 1. Use the --docker flag to parse an json specific docker data files.
docker
build: Give a list of Docker JSON data files, build all containers and tag accordingly
NOTE: Future features include printing the template Docker data file, and pushing all images to the respective repositories with credentials.
Future Work
- Robust credential management (cred stores, and password/ssh key/API token read in from STDIN)
- More flexible Docker builds/versioning
- Other container buildkits such as buildah and podman
- Checking previous commit messages for specifc tags/strings to indicate if a commit was a build
- Ability to provide custom version python parsing scripts
- Add docker install and mounting instructions for building docker containers from within the docker container
- Open to suggestions (Open an issue!)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file Source Assist-0.3.4.tar.gz.
File metadata
- Download URL: Source Assist-0.3.4.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17e5cbd29156f27ff5bdb080fe9e43fa6a17cf5e5939536a21412d11eb0d7dce
|
|
| MD5 |
88354b30ac1d30f1269688486f274bb0
|
|
| BLAKE2b-256 |
152a85444e48518deffecce2213b5133654d2e95cd1c17396a5c8ec8952d6859
|
File details
Details for the file Source_Assist-0.3.4-py3-none-any.whl.
File metadata
- Download URL: Source_Assist-0.3.4-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d69052dd668e4cda7b9171af4dcf193bb44c285257895b998da98949ebb8c616
|
|
| MD5 |
0b28d475de087aad19aeaafe2e258658
|
|
| BLAKE2b-256 |
85b80e5a806f365f94320daf0eb94e344416311ff735c1400848dcc7946a0f71
|