{"id":22553385,"url":"https://github.com/faryon93/sackci","last_synced_at":"2025-04-10T04:20:33.348Z","repository":{"id":57523222,"uuid":"97576648","full_name":"faryon93/sackci","owner":"faryon93","description":"Simple as *uck continuous integration server","archived":false,"fork":false,"pushed_at":"2018-06-10T12:55:36.000Z","size":922,"stargazers_count":5,"open_issues_count":8,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T05:35:23.149Z","etag":null,"topics":["build-server","ci","continuous-integration","docker"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/faryon93.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-18T08:55:50.000Z","updated_at":"2023-12-29T23:05:32.000Z","dependencies_parsed_at":"2022-08-28T06:00:23.988Z","dependency_job_id":null,"html_url":"https://github.com/faryon93/sackci","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faryon93%2Fsackci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faryon93%2Fsackci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faryon93%2Fsackci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faryon93%2Fsackci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/faryon93","download_url":"https://codeload.github.com/faryon93/sackci/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248155285,"owners_count":21056596,"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":["build-server","ci","continuous-integration","docker"],"created_at":"2024-12-07T18:09:22.947Z","updated_at":"2025-04-10T04:20:33.329Z","avatar_url":"https://github.com/faryon93.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sackci\nSimple as *uck continuous integration server\n\n![Screenshot of webinterface](doc/webinterface.png)\n\n## Features\n- agent-less design (just a docker host is needed)\n- pipeline configuration stored in project repository\n- configuration in text format\n- custom scm via special docker container\n- realtime web interface\n- REST interface\n- single binary, which contains all necessary data\n\n## Getting started\nThe version contained in the master branch is packaged in a docker image and published on docker hub.\nA valid config file must be mounted to the container by the user.\n```\ndocker run --name sackci -t -i \\\n           -p 443:443 \\\n           -p 80:80 \\\n           -v /var/lib/sackci:/sackci \\\n           -v /var/run/docker.sock:/var/run/docker.sock \\\n           sackci/server\n```\n\n## Architecture\nThe sackci server is the central component which orchestrates the builds on all \"agents\". On the build agents there is no software required, except a running docker daemon with exposed management api to the network.\nThe server periodically polls for changes changes in the source repository of each project. If new changes are detected the build process is executed on one of the configured docker hosts.\nAll build stages are executed in seperate containers, so there is no need to install all the tools on the host machine. Just pick the right docker image for your build stage.\n\n## SCM Integration\nIt is possible to integrate any kind of SCM into sackci. Therefore a special docker container is needed.\nThe sackci server communicates with the scm container via command line arguments and return values.\nWe provide an scm integration container for the following scm systems:\n\n- [Git](https://github.com/faryon93/sackci-git)\n\n## Required Tools\nTo build the webfrontend some tools are required to process less files, minify the content and embed all assets into the application.\nAll files are stored in *assets/fs.go*, which should be up to date at any time. In order to generate a new *fs.go* file a\nsimple `go generate assets/fs_util.go` should be enough.\n\n- **minify**: https://github.com/tdewolff/minify\n- **esc**: https://github.com/mjibson/esc\n- **lessc**: https://lesscss.org/\n\n## TODO\n- secret variables in Pipelinefile\n- graphing of code metrics\n- hot reload of configuration\n- project inheritance \n\n## Notice\nThis project is far from beeing finished and should not be used in production. Feel free to contribute.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaryon93%2Fsackci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffaryon93%2Fsackci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaryon93%2Fsackci/lists"}