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
- 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
Hashes for Source_Assist-0.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af4eaeef02345c81f587278b4e64da2d64999c5a6cb463ebb56d86708300e913 |
|
MD5 | 0976e8a61c006236fb77d30f72bb5f3a |
|
BLAKE2b-256 | 4f7ad1fd00e45a1a51dc7525799f0e7adc793de40df2c2b5227b02581dc21901 |