{ "info": { "author": "Alex Barcelo", "author_email": "alex@betarho.net", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "\nWebhook receiver for Git deployments\n====================================\n\nThis project started as a dirty & quick hack to perform some deployment actions \ntriggered by a Git webhook.\n\nI looked a little bit at other projects and didn't found any one that suited my \nneeds, so I started this project... and then it grew a little bit and become\nsomething more versatile than the quick hack originally intended.\n\nThis project is aimed at DevOps or sysadmin that have git repositories, typically\nwith a VIP-branch, and automatic deployment. You may want to have different branches\nfor stage and production or set up push permissions differently to the different \nbranches. This utility, when a webhook is received, will update the local Git repository\nand perform the commands in the settings.\n\nQuickstart\n----------\n\n - Create and activate a Virtual Environment: \n```\nvirtualenv --python=/usr/bin/python3 /path/to/venv\nsource /path/to/venv/bin/activate\n```\n - Install the package: `pip install webhooks_git_automata`\n - Create a `settings.yaml` \n - Set up a service (e.g. a systemd _service_ file) that does something along: \n```\n/path/to/venv/bin/wh-gitd /path/to/settings.yaml\n```\n\nSettings\n--------\n\nExtra CLI features\n------------------\n\nTo force both the pull and the execution of commands without a deployment, you can use \nthe built-in `wh-git-trigger` command. Example usage:\n\n wh-git-trigger /path/to/setings.yaml myrepoentry\n\nThis will force the git pull and execute the commands. Future versions of this tool will \ninclude more fine-grain control --e.g. avoid fetch, dry-run, display status information...\n\nImplementation details\n----------------------\n\nThis project contains a minimal Flask server that answers the POST webhooks sent \nby a Git server like GitLab, GitHub or Gogs. The server is started through the \nFlask's `app.run` method.\n\nNot a lot of traffic is expected, but you may want to set up a reverse proxy in front\nof the Flask server, or add some fancier method like a WSGI or uWSGI or similar layer.\n\nTypical git servers expect the webhook to send a quick reply (in general, HTTP \nconnections are intended to be short lived) so there is a worker/tasks approach. There\nis a very simple implementation base on `Threading` and a shared `Queue`. More complex\nimplementations may be added in the future (pull requests welcome).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/alexbarcelo/webhooks-git-automata", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "webhooks-git-automata", "package_url": "https://pypi.org/project/webhooks-git-automata/", "platform": "", "project_url": "https://pypi.org/project/webhooks-git-automata/", "project_urls": { "Homepage": "https://github.com/alexbarcelo/webhooks-git-automata" }, "release_url": "https://pypi.org/project/webhooks-git-automata/0.0.3/", "requires_dist": [ "Flask", "PyYAML" ], "requires_python": "", "summary": "Webhook receiver for Git deployments", "version": "0.0.3" }, "last_serial": 4292825, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "81ba9cbf3927be9aa18ef58ff85d1a18", "sha256": "39faad4482f93fcb6a9c3a0dac6ecca5b26112b0cb995533d016f9990cd52f5f" }, "downloads": -1, "filename": "webhooks_git_automata-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "81ba9cbf3927be9aa18ef58ff85d1a18", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7331, "upload_time": "2018-08-25T20:21:42", "url": "https://files.pythonhosted.org/packages/a5/33/2f41df83dc118afadb777e53b1a097791ba6509722bc394121fc800f35ca/webhooks_git_automata-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3bc2d3113a9b6d2dafc8239fd8f8b2bb", "sha256": "256eddc1ad4fa9e55c04b47cb581d8450af883c91673e8ddf0a131fcc6fe6ebb" }, "downloads": -1, "filename": "webhooks_git_automata-0.0.1.tar.gz", "has_sig": false, "md5_digest": "3bc2d3113a9b6d2dafc8239fd8f8b2bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5482, "upload_time": "2018-08-25T20:21:44", "url": "https://files.pythonhosted.org/packages/a1/b5/29eb9b8324bd96f15d01c21c5ec81eeaeff4c9be8c84a16dceea4ef00ae5/webhooks_git_automata-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "dedb4eabb806500756cfc4bc29f6b239", "sha256": "df594d5fcbfc38af9278554fd41d8da021f4d106dd298ad9f5a7bdfdd83ffe1e" }, "downloads": -1, "filename": "webhooks_git_automata-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "dedb4eabb806500756cfc4bc29f6b239", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7853, "upload_time": "2018-08-28T21:06:56", "url": "https://files.pythonhosted.org/packages/31/0d/a90a5f8bf8edb2a3e25842e1c13805d96603e93347dc5736ebcd03d83df9/webhooks_git_automata-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9445cbf55c66b1c08a8c04cb578adce4", "sha256": "8e41739e9fa811f2721adcf2f61d3d0adb34437cd5d7769d6e6204d3aa2c4fb3" }, "downloads": -1, "filename": "webhooks_git_automata-0.0.2.tar.gz", "has_sig": false, "md5_digest": "9445cbf55c66b1c08a8c04cb578adce4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5880, "upload_time": "2018-08-28T21:06:58", "url": "https://files.pythonhosted.org/packages/66/9c/6573748509a23c54b834c6ed838ebff4c3c9e78edd5bbdf59751733ef746/webhooks_git_automata-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "2d3dcd40954a5535d561ef413969288b", "sha256": "b8fe5e6361a2811dd20e5a240f2b17148d81a63831d0c68b0d7c344a2fdbf3d5" }, "downloads": -1, "filename": "webhooks_git_automata-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2d3dcd40954a5535d561ef413969288b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7866, "upload_time": "2018-09-20T14:04:20", "url": "https://files.pythonhosted.org/packages/23/56/364521fdc619b23661ec7c74152655c7a9debabd648ccd85e4985dd2760f/webhooks_git_automata-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "816cf314d994ff2157902b50332eede3", "sha256": "818086b1fbaaa49f9ba292d63af2bfb3cbf9c1144d43e09522a07dab50961446" }, "downloads": -1, "filename": "webhooks_git_automata-0.0.3.tar.gz", "has_sig": false, "md5_digest": "816cf314d994ff2157902b50332eede3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5939, "upload_time": "2018-09-20T14:04:22", "url": "https://files.pythonhosted.org/packages/43/06/1dce72638fe9d5ffb5638cb5cb552b57d6ea9fb76177b8c41eb6cac95849/webhooks_git_automata-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2d3dcd40954a5535d561ef413969288b", "sha256": "b8fe5e6361a2811dd20e5a240f2b17148d81a63831d0c68b0d7c344a2fdbf3d5" }, "downloads": -1, "filename": "webhooks_git_automata-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2d3dcd40954a5535d561ef413969288b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7866, "upload_time": "2018-09-20T14:04:20", "url": "https://files.pythonhosted.org/packages/23/56/364521fdc619b23661ec7c74152655c7a9debabd648ccd85e4985dd2760f/webhooks_git_automata-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "816cf314d994ff2157902b50332eede3", "sha256": "818086b1fbaaa49f9ba292d63af2bfb3cbf9c1144d43e09522a07dab50961446" }, "downloads": -1, "filename": "webhooks_git_automata-0.0.3.tar.gz", "has_sig": false, "md5_digest": "816cf314d994ff2157902b50332eede3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5939, "upload_time": "2018-09-20T14:04:22", "url": "https://files.pythonhosted.org/packages/43/06/1dce72638fe9d5ffb5638cb5cb552b57d6ea9fb76177b8c41eb6cac95849/webhooks_git_automata-0.0.3.tar.gz" } ] }