{ "info": { "author": "bennr01", "author_email": "benjamin99.vogt@web.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Build Tools" ], "description": "# FBAD\nFBAD is a commandline tool for projects requiring multiple docker images.\n\n# Features\n- easily build projects with multiple docker images\n- build on remote server\n- automatically push build images to registry\n- select a subset of images to build\n- build images in parallel on multiple buildservers\n- you can also build all images on each buildserver (useful for different os architectures)\n- run command before each image build (useful for generating dockerfiles before the build)\n- automatically format tags (e.g. `myproject-{arch}` -> `myproject-x86`)\n- show build output live\n- ...\n\n# Recommended directory structure\n\n```\nmyproject/\n imagea/\n DOCKERFILE\n ...\n imageb/\n DOCKERFILE\n ...\n ...\n project.py\n```\n\n# Example `project.py`\n\n```python\n\"\"\"example fbad build file\"\"\"\nfrom fbad import Project, Image\n\n\n# the project contains all project and image data\nproject = Project(\n\n # name of the project\n name=\"Project\",\n\n # list of images of the project\n images=[\n # most simple form\n # build the dockerfile in 'cachserver/'\n # use 'cachserver/Dockerfile' as dockerfile\n # build cwd is 'cachserver/'\n # name and tag are 'cachserver'\n Image(\n path=\"cacheserver/\",\n ),\n\n # build image from the directory which contains 'project.py'\n # everything like above, but cwd is different\n # this is useful if you have shared files, like a package for common functionality\n # please note that all files being contained in the buildpath will be send to the buildserver.\n Image(\n path=\"webserver/\",\n buildpath=\"\",\n ),\n\n # build image with auto-formated tag and auto-generated dockerfile\n # the tag will be formated on the buildserver (e.g. 'worker-x86')\n # the dockerfile will also be generated on the buildserver\n # this is useful for building architecture specific images or\n # images with architecture-specific dependencies\n # this example also uses a custom buildpath\n Image(\n path=\"worker/\",\n tag=\"worker-{arch}\",\n buildpath=\"\",\n preexec_command=[\"/usr/bin/python\", \"worker/generate_dockerfile.py\"],\n ),\n\n # build image with a dockerfile having a different name.\n # dockerfile will be 'db/dbdockerfile.txt'\n Image(\n path=\"db/\",\n dockerfile=\"dbdockerfile.txt\",\n ),\n ],\n )\n\n\nif __name__ == \"__main__\":\n # run the cli\n project.main()\n\n```\n\n# Buildserver\nA buildserver is available using the `fbad-server` command.\nYou can also access import the buildserver as `fbad.server.FBADServerFactory`.\nIf no custom buildserver is specified when building a project, another buildserver is temporarly started.\n\n# Installation\n**Requirements**\nFBAD requires python2 (most implementations should work) and twisted.\nThe buildserver also requires docker to be installed.\n\n**Install via pip**\n1. `pip install fbad`\n2. Done\n\n**Install from source**\n1. `git clone https://github.com/bennr01/fbad.git`\n2. `cd fbad`\n3. `python setup.py install` (`sudo` may be required, depending on your python configuration)\n4. Done.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bennr01/fbad/", "keywords": "docker build tools", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "fbad", "package_url": "https://pypi.org/project/fbad/", "platform": "", "project_url": "https://pypi.org/project/fbad/", "project_urls": { "Homepage": "https://github.com/bennr01/fbad/" }, "release_url": "https://pypi.org/project/fbad/0.1.4/", "requires_dist": null, "requires_python": "", "summary": "build tools for docker images", "version": "0.1.4" }, "last_serial": 4436093, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "a368b37b717e4a12b023a7ae06278a52", "sha256": "607ec625b91833bf8d17d174c5fca74dde2c89583a3579c558c4588721fdf965" }, "downloads": -1, "filename": "fbad-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "a368b37b717e4a12b023a7ae06278a52", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 16094, "upload_time": "2018-05-01T13:28:49", "url": "https://files.pythonhosted.org/packages/5a/71/8fcdd133c90f826a7f52497b804262b205668311f6c681d91086557acae5/fbad-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3737c06ea96223dfb9f374eceec51564", "sha256": "43a31b19b0aef619e4e8bb6d161bb860df619288e7171e40d11fab7701aaaa76" }, "downloads": -1, "filename": "fbad-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3737c06ea96223dfb9f374eceec51564", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11655, "upload_time": "2018-05-01T13:28:50", "url": "https://files.pythonhosted.org/packages/10/3f/ac3bfad40af89da338d2bdf1bcf87d4d15e4a01b3bfcacc643b11ef23b43/fbad-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "63d6cb62edf795d742443a1b86f7a66b", "sha256": "437167a460f812442e0c9ef7eec300ea89f4bdf4c0b277697675e6246789346c" }, "downloads": -1, "filename": "fbad-0.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "63d6cb62edf795d742443a1b86f7a66b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17497, "upload_time": "2018-10-07T13:20:01", "url": "https://files.pythonhosted.org/packages/fa/7a/95784b63eb6f887f07da2de67f018347333431b5c1e992f25bc65005411a/fbad-0.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb27699fb00bc2bea9a9ba1028d26e8d", "sha256": "153e0ac87ba893778c4d162f03dd7e1e8f394fe9da00e427e12975b0b2cbbcda" }, "downloads": -1, "filename": "fbad-0.1.1.tar.gz", "has_sig": false, "md5_digest": "eb27699fb00bc2bea9a9ba1028d26e8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12543, "upload_time": "2018-10-07T13:19:59", "url": "https://files.pythonhosted.org/packages/42/a4/b8af8626c8ae21523dfc77583bee83093984d0a55a4a485a0359e9439c85/fbad-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "e0d7fb914ba40d6306718d6e561a193c", "sha256": "677ed1be501bb17c3f35d351692b3ea825db0f5af78feaabfd5c71e35a047c75" }, "downloads": -1, "filename": "fbad-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "e0d7fb914ba40d6306718d6e561a193c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17432, "upload_time": "2018-10-28T16:00:55", "url": "https://files.pythonhosted.org/packages/e5/7c/ee6dc4c53128300d24abedc91694ccf02c5174a5ef872d241a0c16ac615e/fbad-0.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2fa82f164e1520fd973a6df837f56b2", "sha256": "dcdafea5fe070901bdc72ce8ea7c248322eedb64122e0b6dfb1dd79a10d3dfed" }, "downloads": -1, "filename": "fbad-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f2fa82f164e1520fd973a6df837f56b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12513, "upload_time": "2018-10-28T16:00:53", "url": "https://files.pythonhosted.org/packages/a3/53/f0329c8a5e59e2c5821aec6116a11d7e49f711306145f8d80d174f3a9dc1/fbad-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "2bd3bfa68159b768728ff1992ba2fca8", "sha256": "db94a3240d3dd0fc4836d62457ae55ac0fb3c0c781ab53b8e6388b6283c650db" }, "downloads": -1, "filename": "fbad-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "2bd3bfa68159b768728ff1992ba2fca8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17529, "upload_time": "2018-10-28T17:49:39", "url": "https://files.pythonhosted.org/packages/25/f9/a12d0dfcbdfe133317d7d77c2b51f75f8c07373b6d53b88ba1ccfff767b5/fbad-0.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e84dc9952a9aabc6b2bca4ed94f3b151", "sha256": "f36ba29f8af187d97d53fa1ab90f9c1ba779162b506f35bb156d3cde126408c9" }, "downloads": -1, "filename": "fbad-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e84dc9952a9aabc6b2bca4ed94f3b151", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12575, "upload_time": "2018-10-28T17:49:37", "url": "https://files.pythonhosted.org/packages/df/53/77232ba7dd26e985cd1d8b8f88c3b22ec89ed89cf9f50b05f019e4fb44e4/fbad-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "31acfe2474bc6adfa4d898742ef4ed5f", "sha256": "8fd710ced08605df2348e46b38a43993b342cf343a47e21da5725338c6346953" }, "downloads": -1, "filename": "fbad-0.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "31acfe2474bc6adfa4d898742ef4ed5f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17648, "upload_time": "2018-10-31T14:34:11", "url": "https://files.pythonhosted.org/packages/f9/f2/e43e8b8b2f33d0fda8a51d88b44ba00252a1cac8d04f5c59b5aa0020e519/fbad-0.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6a81f719d6162b2ad23a442bc4c5c88", "sha256": "3350e390cac969deee880f65753841a189613b4c857ed5245ffa97febf05da13" }, "downloads": -1, "filename": "fbad-0.1.4.tar.gz", "has_sig": false, "md5_digest": "a6a81f719d6162b2ad23a442bc4c5c88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12668, "upload_time": "2018-10-31T14:34:10", "url": "https://files.pythonhosted.org/packages/63/b8/566f1bbb100412c2a0e28c2447553bd13bd1965bebb1e080e9c5d16d7e33/fbad-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "31acfe2474bc6adfa4d898742ef4ed5f", "sha256": "8fd710ced08605df2348e46b38a43993b342cf343a47e21da5725338c6346953" }, "downloads": -1, "filename": "fbad-0.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "31acfe2474bc6adfa4d898742ef4ed5f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17648, "upload_time": "2018-10-31T14:34:11", "url": "https://files.pythonhosted.org/packages/f9/f2/e43e8b8b2f33d0fda8a51d88b44ba00252a1cac8d04f5c59b5aa0020e519/fbad-0.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6a81f719d6162b2ad23a442bc4c5c88", "sha256": "3350e390cac969deee880f65753841a189613b4c857ed5245ffa97febf05da13" }, "downloads": -1, "filename": "fbad-0.1.4.tar.gz", "has_sig": false, "md5_digest": "a6a81f719d6162b2ad23a442bc4c5c88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12668, "upload_time": "2018-10-31T14:34:10", "url": "https://files.pythonhosted.org/packages/63/b8/566f1bbb100412c2a0e28c2447553bd13bd1965bebb1e080e9c5d16d7e33/fbad-0.1.4.tar.gz" } ] }