Skip to main content

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

  • Fedora
    • 25

  • 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

This version

0.3.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

futoin-cid-0.3.1.tar.gz (33.0 kB view hashes)

Uploaded Source

Built Distribution

futoin_cid-0.3.1-py2.py3-none-any.whl (51.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page