cinderella

[unmaintained] simple CI engine
Log | Files | Refs | README | LICENSE

commit d33ba867b38a54549cb7aa9a72dab45f0e0065a1
parent 0ef86d55aedde5bdc05a1c77d183fa7a8a1e4548
Author: Stefan Koch <programming@stefan-koch.name>
Date:   Sun, 11 Aug 2019 14:32:36 +0200

collect some notes on the project

Diffstat:
MREADME.md | 60++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 58 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md @@ -1,2 +1,58 @@ -# CInderella -Lightweight continuous integration for raw git repositories +# Cinderella CI + +Being one of my many project ideas this will probably never take off, but the +idea is to create a lightweight CI solution that can be used without docker. + +Problems with existing solutions: + +- Gitlab CI: Gitlab requires a lot of memory and comes with its full git + management +- Jenkins: Not very lightweight and in my opinion does not "feel" nice in usage + (i.e. no clear approach because very plugin based, security configuration can + be in multiple locations in the UI) +- Drone: Do not want to support builds [without Docker][drone-docker] +- TeamCity: Seems to require Tomcat (i.e. includes Java UI stuff), installation + instructions (for agents) look complex on first sight + +Solutions that might be interesting, but there might also be problems: + +- GoCD: + - states that it requires 1-2GB of memory only for the Server (without + the Agents) + - Pipeline as Code is not first-class citizen, plus it seems you always have + to do adjustments in the web GUI +- Hydra: Can only be installed on Nix OS? +- Concourse: Uses containers for all builds? +- builds.sr.ht: I think no documentation on how to setup self-hosted + + +## Goal + +So what is this project's goal? + +- Perform CI and CD according to build steps from a config file +- Status Reporting: + - If possible: no web GUI, alternatively: static HTML files with current + status + - Build failures and "OK again" status via mail +- Encrypted variables directly in files in the repository (similar to ansible + vault files) -> key for decryption must still be stored on the + server (thus security is limited if repo and key are on the same server, but + same goes for Gitlab etc.) +- If possible: Should play nicely with ansible, because I deploy most projects + with ansible (had some trouble with Gitlab there, I think because of the + docker setup) + + +## Use Cases + +Project Development (if it takes place at all) will be according to use cases: + +1. Deploy a Zola-based website (static site generator) to the same server as + Cinderella is installed on +2. Deploy a Zola-based website to an FTP server (requires encrypted password) +3. Run test execution for a Python project +4. Deploy a project with an ansible-playbook + + +[drone-docker]: https://github.com/drone/drone/issues/2378