Continuum is a minimalist continuous integration tool
Project description
Continuum is a lightweight continuous integration tool: no web interface, no scheduler. It runs on command line and is triggered by cron.
Installation
You can install it using PIP, typing pip install continuum_ci. This will install the continuum script in you PATH. You may also download the archive, expand it and type in the created directory python setup.py install.
While calling continuum, you must pass the configuration file name on the command line:
continuum config.yml
Configuration
Configuration is in YAML format:
directory: /tmp email: smtp_host: smtp.foo.com smtp_user: username smtp_pass: password recipient: foo@bar.com sender: foo@bar.com success: false modules: continuum: url: https://github.com/c4s4/continuum.git command: | set -e virtualenv env --no-site-packages . env/bin/activate pip install -r etc/requirements.txt bee test module2: url: https://github.com/foo/bar.git command: | set -e commands to run the test
The first part indicates:
directory: the directory where modules will be checked out. Currently only GIT projects are supported.
email: put ~ if you don’t want any email.
If you wait to receive email reports, provide following fields:
smtp_host: the hostname of your SMTP server.
smtp_user: the username to access SMTP server.
smtp_pass: the password to access SMTP server.
recipient: the email of the recipient of the build report.
sender: the email address if the sender of the report.
success: tells if continuum should send an email on success. If false, it will only send an email on build error.
If smtp_host, smtp_user and smtp_pass are not set, their value is extracted from MAIL_SMTP, MAIL_USERNAME and MAIL_PASSWORD environment variables.
The second one is the list of modules, with, for each module:
url: the URL of the module that GIT will use to get the sources.
command: the command to run tests, must return 0 on success and a different value on error (as any Unix script should). Note the pipe character (that is |) after the command: declaration.
The most important thing to remember about editting YAML is that Tab characters are forbidden (and should be replaced with spaces to properly indent). Please see YAML specification (at http://www.yaml.org/spec/1.2/spec.html) for more details.
Crontab
This script is triggered using cron, with as configuration as follows (in file /etc/crontab):
# run continuum at 4 every night 0 4 * * * me continuum /home/me/etc/continuum.yml
Please make sure that the PATH to continuum is defined in your cron configuration. You may add the right PATH at the beginning of your crontab file as following:
PATH=/path/to/continuum:/rest/of/my/path # run continuum at 4 every night 0 4 * * * me continuum /home/me/etc/continuum.yml
Releases
0.2.0 (2020-05-07): Using mail1 library.
0.1.6 (2020-05-05): Bug fixed.
0.1.5 (2020-05-05): Documentation fixed and added integration test.
0.1.4 (2020-05-04): Migration to Python 3.
0.1.3 (2020-05-04): Project renamed continuum_ci and added makefile.
0.1.2 (2014-04-15): Fixed documentation.
0.1.1 (2014-04-11): Improved email reporting.
0.1.0 (2014-04-08): First public release.
Enjoy!
Project details
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 continuum_ci-0.2.0.tar.gz
.
File metadata
- Download URL: continuum_ci-0.2.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f476c051a1ef93fd6308cfa9d97c6a8ae5a4b91815b752ebd257dad31a195484 |
|
MD5 | cf0989517a7560a178e719ac1a58ac88 |
|
BLAKE2b-256 | 8238df12be480d951fed4c7eeba8187425a25db84f13f05740291e7372079934 |