FutoIn Continuous Integration & Delivery Tool
Project description
Intro
There are many continuous integration & delivery tools, but they are primarily targeted at own infrastructure. The demand for a new meta-tool is to merge many operation of different technologies like npm, composer, bundler, nvm, rvm, php-build and others under a single tool for runtime setup, project development, build, deployment and running.
NOTE: current focus is on web projects, but support of other types is a far target.
Full theoretical details are defined as FutoIn Spec FTN16 available at: https://github.com/futoin/specs/blob/master/draft/ftn16_cid_tool.md
Supported technologies & tools (so far):
docker (experimental) - docker-compose
node - npm - bower - grunt - grulp - nvm (implicit)
php - both system & any php-build supported - composer - php-build (implicit)
python - system 2 & 3 - virtualenv, venv is ignored due to issues with ensurepip package - pip
ruby - both system & any rvm supported - gen - bundler - rvm (implicit)
scp - for RMS
Full test on the following OS:
CentOS - 7 with EPEL repository enabled
Debian - 8 - Jessie - 9 - Stretch
- OpenSUSE
42.1 Leap
Ubuntu - 14.04 LTS - Trusty - 16.04 LTS - Xenial - 16.10 - Yakkety
Other Linux - it should work without issues, if system packages are installed manually
Setup
cid is written in commonly available Python language supporting both Python versions 2.7 and 3+.
Run the following:
pip install futoin-cid
If pip is not available then it’s strongly suggested to install one first:
easy_install pip
To allow cid automatically install system packages, please allow execution of apt-get, zypper or yum in sudoers. Example:
username ALL=(ALL) NOPASSWD: /usr/bin/apt-get install username ALL=(ALL) NOPASSWD: /usr/bin/apt-get install * username ALL=(ALL) NOPASSWD: /usr/bin/yum install username ALL=(ALL) NOPASSWD: /usr/bin/yum install * username ALL=(ALL) NOPASSWD: /usr/bin/zypper install username ALL=(ALL) NOPASSWD: /usr/bin/zypper install *
Note: there are duplications with asterisk as some OSes have patched sudo
Usage
Please see details in the FTN16 spec:
cid tag <branch> [<next_version>] [–vcsRepo vcs_url] [–wcDir wc_dir]
cid prepare [<vcs_ref>] [–vcsRepo vcs_url] [–wcDir wc_dir]
cid build
cid package
cid check [–permissive]
cid promote <package> <rms_pool> [–rmsRepo rms_url] [–rmsHash type_value]
cid deploy vcstag [<vcs_ref>] [–vcsRepo vcs_url] [–redeploy] [–deployDir deploy_dir]
cid deploy vcsref <vcs_ref> [–vcsRepo vcs_url] [–redeploy] [–deployDir deploy_dir]
cid deploy [rms] <rms_pool> [<package>] [–rmsRepo rms_url] [–rmsHash type_value] [–redeploy] [–deployDir deploy_dir] [–build]
cid run [<command>]
cid ci_build <vcs_ref> <rms_pool> [–vcsRepo vcs_url] [–rmsRepo rms_url] [–permissive]
cid tool exec <tool_name> [– <tool_arg>…]
cid tool (install|uninstall|update|test|env) [<tool_name>]
END OF DOC
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 futoin_cid-0.3.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bd7094f9418371639aa6a3c22aa4db505fae3f13c490ffca800667b09ddab81 |
|
MD5 | 1a346dca1b59acecf15b19af6b0a3826 |
|
BLAKE2b-256 | 52865034a939b77ff21f5059b068279a1d540782fbd263db99b3d6e44539f584 |