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: custom (used by rebuild),
# 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: custom (used by rebuild),
# 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.0.dev20201201-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 433ca90c05fdd6613e3832223c95df1407b77bac9c3a906177eea7b1b4a696a1 |
|
MD5 | 970f87fb02600f799125c9f08ce106a8 |
|
BLAKE2b-256 | 5df3f3d4fc2a59e46370e6948956b2ef1b7ddfe41ee25d481be795722cd80596 |