{ "info": { "author": "Tony Walker", "author_email": "walkr.walkr@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python" ], "description": "ciex (alpha)\n=========\na simple, lightweight and probably dumb CI system, written in Python.\n\n**To extend it**, write your own python `ci workers` modules, then define them in the daemon's configuration file.\n\n**An example** scenario would be to install the `ciex daemons` on multipe machines, then trigger the checkout command or build, upgrade, etc from another machine, say after you're pushing new code to the master branch.\n\n# Quickstart\n\u2028Note: You need [nanomsg](https://github.com/nanomsg/nanomsg) installed on your system.\n\n```shell\n$ pip install ciex\n$ ciexd --config /path/to/config/ciex.config\n$ ciextl ping\npong\n```\n\n# Installation\nIf you have have [nanomsg](https://github.com/nanomsg/nanomsg) installed on your system, the installation should be pretty easy.\n\n**Requirements**\n\n* [nanomsg](https://github.com/nanomsg/nanomsg) - requirement for nanoservice\n* [nanoservice](https://github.com/walkr/nanoservice) - for interprocess comm.\n* [oi](https://github.com/walkr/oi) - for command line interface\n\n\n**Install options**\n\n```shell\n# Using pip\n$ pip install ciex\n\n# Or using the makefile\n$ git clone git@github.com:walkr/ciex.git\n$ cd ciex\n$ make install\n```\n\n\n# High level overview\n\nThe system has two separate components:\n\n1. A daemon process `ciexd`\n2. A command line interface `ciexctl`\n\n\n### 1. Daemon\n\nThe daemon is running continuously awaiting for commands.\nWhen a command is received, it is tranformed into a task,\nthen it is placed onto the `new queue`. **CI Workers** take tasks\nfrom the `new queue` and do their work. When the work associated\nwith that task is finished, the CI Worker will mark the task as\n`success` OR `failure`, then it will send it back to the task router.\n\nThe daemon accepts a configuration file, where you can define the settings\nfor each of your apps, as different apps have different needs.\n\n**Example config file**\n\n```ini\n[settings.app.my_app]\nlocalpath = /apps/my_app\nrepo = git@github.com:walkr/test.git\n\nworker_dirpath = /apps/myapp/ci\nworker_modname = workers\nworker_classname = CustomWorker\n```\n\n**Starting the daemon**\n\n```shell\n$ ciexd --config /etc/ciex.config # optional --debug flag\n```\n\n\n### 2. Command line interface\n\nThe command line interface accepts commands and forwards them to the daemon\n\n**Usage Example:**\n\n```shell\n$ ciextl ping\npong\n\n$ ciexctl\nctl > list\n['appname1', 'appname2']\n\nctl > status appname1\n\n\nctl > upgrade appname1\nTask triggered ...\n\nctl > status appname1\n\n\n# While a task is running, you cannot fire up another task\nctl > upgrade appname1\nDeny. Taks already running\n```\n\n\nThat's it. Enjoy!\n\n**MIT License**", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/walkr/ciex", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "ciex", "package_url": "https://pypi.org/project/ciex/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ciex/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/walkr/ciex" }, "release_url": "https://pypi.org/project/ciex/0.1.1a0/", "requires_dist": null, "requires_python": null, "summary": "A simple, lightweight and modular CI system", "version": "0.1.1a0" }, "last_serial": 1556995, "releases": { "0.1.0a0": [], "0.1.1a0": [ { "comment_text": "", "digests": { "md5": "d45077d50f574e5911bc3741befa0fab", "sha256": "1ab05339b0eb761d2644d340312a68a6ecdd5ff46e42895baf42e91f2bee3daf" }, "downloads": -1, "filename": "ciex-0.1.1a0.tar.gz", "has_sig": false, "md5_digest": "d45077d50f574e5911bc3741befa0fab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8379, "upload_time": "2015-05-21T21:10:17", "url": "https://files.pythonhosted.org/packages/15/6b/93fb8ab2ea1708ec2bb3cea130245a2abe2dd318af793908fed262e5dfb3/ciex-0.1.1a0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d45077d50f574e5911bc3741befa0fab", "sha256": "1ab05339b0eb761d2644d340312a68a6ecdd5ff46e42895baf42e91f2bee3daf" }, "downloads": -1, "filename": "ciex-0.1.1a0.tar.gz", "has_sig": false, "md5_digest": "d45077d50f574e5911bc3741befa0fab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8379, "upload_time": "2015-05-21T21:10:17", "url": "https://files.pythonhosted.org/packages/15/6b/93fb8ab2ea1708ec2bb3cea130245a2abe2dd318af793908fed262e5dfb3/ciex-0.1.1a0.tar.gz" } ] }