{"id":18257947,"url":"https://github.com/linkdd/microci","last_synced_at":"2025-04-11T21:22:29.549Z","repository":{"id":136499383,"uuid":"110037931","full_name":"linkdd/microci","owner":"linkdd","description":"MicroCI for lightweight self hosted continuous integration","archived":false,"fork":false,"pushed_at":"2017-11-11T20:11:21.000Z","size":886,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T17:21:24.124Z","etag":null,"topics":["continuous-integration","lightweight","python","self-hosted"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linkdd.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-08T22:30:29.000Z","updated_at":"2019-05-14T18:23:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"1e3fe677-6e26-4910-ae02-4cf7fee0420d","html_url":"https://github.com/linkdd/microci","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkdd%2Fmicroci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkdd%2Fmicroci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkdd%2Fmicroci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkdd%2Fmicroci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linkdd","download_url":"https://codeload.github.com/linkdd/microci/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248480748,"owners_count":21111002,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["continuous-integration","lightweight","python","self-hosted"],"created_at":"2024-11-05T10:28:19.562Z","updated_at":"2025-04-11T21:22:29.519Z","avatar_url":"https://github.com/linkdd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"MicroCI\n=======\n\nLightweight self-hosted continuous integration.\n\nPrerequisites\n-------------\n\n * libgit2 ``==`` 0.25.1\n * docker ``\u003e=`` 17.9.0\n\nInstallation\n------------\n\n.. code-block:: none\n\n   python setup.py install\n\nDeployment\n----------\n\nMicroCI needs:\n\n * a database (see `PyDAL \u003chttps://github.com/web2py/pydal#which-databases-are-supported\u003e`_ for a full list of supported databases)\n * a Redis for jobs scheduling\n\nSee ``docker-compose.yml`` for a simple example of MicroCI infrastructure.\n\n.. csv-table:: Environment variables\n   :header: \"Variable\", \"Default\", \"Description\"\n\n   DEBUG, True, \"DEBUG mode for Flask\"\n   DBURL, \"sqlite://microci.db\", \"Database for jobs persistence\"\n   BROKER, \"redis://localhost\", \"Broker for jobs scheduling\"\n   DOCKER_URL, \"unix://var/run/docker.sock\", \"Docker URL for job's container creation\"\n   DOCKER_IMAGE, \"debian:latest\", \"Docker image for job's container if not specified\"\n   SIGNATURE, \"secret\", \"Token for webhooks\"\n   SSH_USERNAME, \"git\", \"SSH username when cloning repository\"\n   SSH_PUBKEY, \"$HOME/.ssh/id_rsa.pub\", \"Path to SSH public key\"\n   SSH_PRIVKEY, \"$HOME/.ssh/id_rsa\", \"Path to SSH private key\"\n   SSH_PASSPHRASE, \"''\", \"Passphrase for SSH private key (empty if none)\"\n   REPO_HOST_PATH, \"''\", \"Path to the folder containing the repositories\"\n\nIf the worker is running in a container, bind a folder from the host to ``/microci/repos``.\nThis is were the git repositories are cloned.\n\nThen set the environment variable ``REPO_HOST_PATH`` to that folder. The worker will\nuse it to bind the repository in the job's container.\n\nSupported webhooks\n------------------\n\n * Gogs (endpoint: ``/hooks/gogs/``)\n\nComing soon:\n\n * Github\n * Gitlab\n * Bitbucket\n\nUsage\n-----\n\nPut a file named ``.microci.json`` at the root of your repository, and configure\nthe webhook for push events to the right endpoint.\n\nIf no file is present, the following configuration is assumed:\n\n.. code-block:: javascript\n\n   {\n     \"dockerimg\": \"debian:latest\",\n     \"command\": \"/bin/sh microci.sh\"\n   }\n\nLicense\n-------\n\nReleased under the MIT license.\nSee ``LICENSE.txt`` for the complete license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkdd%2Fmicroci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinkdd%2Fmicroci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkdd%2Fmicroci/lists"}