Bootstrap a complete CI/CD system based on 2 VMs :
- pilote : build production docker images, and host them in a local registry
- webserver : run traefik, and get docker images from "pilote" registry
Can run on VirtualBox locally, or using PAAS Gandi.net
-
ciinfra : VM functions, and SSH commands before ciexe is installed
-
cilib : CI functions to be runned inside a container in VMs
-
cicli : Define commands forwarded to cilib
-
ciexe : Command line tool that can run cilib functions (used to run ssh on VMs)
-
ciexetest : Allow to debug ciexe on local machine
-
citest : Full scenario from nothing to VMs fully running webapps
ciinfra
/ \
| cilib
| \
| cicli
\ / \
citest ciexe, ciexetest
- Install Virtual box
- Download Ubuntu Server ISO.
- Create a clonable machine of UbuntuServer with VirtualBox. cf clib/Infrastructure/VBoxClonableVm.md
- Run citest executable
In order to debug locally, create a /home/test/cidata directory (the same one as the one inside cloned VMs). Then run tests.