Common utilities for Camptocamp CI
Project description
C2C CI utils
Commands:
c2cciutils
: some generic tools.c2cciutils-checks
: Run the checks on the code (those checks don't need any project dependencies).c2cciutils-audit
: Do the audit, the main difference with checks is that it can change between runs on the same code.c2cciutils-publish
: Publish the project.c2cciutils-clean
: Delete Docker images on Docker Hub after corresponding branch have been deleted.
New project
The content of example-project
can be a good base for a new project.
Configuration
You can get the current configuration with c2cciutils --get-config
, the default configuration depends on your project.
You can override the configuration with the file ci/config.yaml
.
At the base of the configuration you have:
version
: Contains some regular expressions to find the versions branches and tags, and to convert them into application versions.checks
: The checkers configuration, seec2cciutils/checks.py
for more information.audit
: The audit configuration, seec2cciutils/audit.py
for more information.publish
: The publish configuration, seec2cciutils/publish.py
for more information.
Many actions can be disabled by setting the corresponding configuration part to False
.
Publishing
To pypi
When publishing, the version computed from arguments or GITHUB_REF
is put in environment variable VERSION
, thus you should use it in setup.py
, example:
VERSION = os.environ.get("VERSION", "1.0.0")
The config is like this:
versions: # List of kinds of versions you want to publish, that can be: rebuild (specified with --type),
# version_tag, version_branch, feature_branch, feature_tag (for pull request)
To Docker registry
The config is like this:
images:
- name: # The base name of the image we want to publish
repository:
<internal_name>:
"server": # The fqdn name of the server if not Docker hub
"version": # List of kinds of versions you want to publish, that can be: rebuild (specified using --type),
# version_tag, version_branch, feature_branch, feature_tag (for pull request)
"tags": # List of tags we want to publish interpreted with `template(version=version)`
# e.-g. if you use `{version}-lite` when you publish the version `1.2.3` the source tag
# (that should be built by the application build) is `latest-lite`, and it will be published
# with the tag `1.2.3-lite`.
"group": # If your images are published by different jobs you can separate them in different groups
# and publish them with `c2cciutils-publish --group=<group>`
With the c2cciutils-clean
the images on Docker hub for feature_branch
will be removed on branch removing.
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 Distributions
Built Distribution
Hashes for c2cciutils-1.0.dev20201208080829-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cadf2adb95bb0a49af9444bd3bf3b2eec63b174d08596523937fbc485a83225 |
|
MD5 | c77a5c3c58205b0d193a03a4a4807c59 |
|
BLAKE2b-256 | 451aff610df01016fcce1b0e8b580312c91bdabb4a033b6d97051649cfb58b67 |