This repository holds the Deis Builder. Builder runs a git server to respond to git pushes from clients. When it receives a push, it takes the following high level steps:
- Accepts the code and writes to the local file system
- Calls
git archiveto produce a tarball (i.e. a.tar.gzfile) on the local file system - Saves the tarball according to the following rules:
- If the
DEIS_MINIO_SERVICE_HOSTandDEIS_MINIO_SERVICE_PORTenvironment variables exist, uses themcclient to save to the Minio server athttp://$DEIS_MINIO_SERVICE_HOST:$DEIS_MINIO_SERVICE_HOST - Otherwise, if the
DEIS_OUTSIDE_STORAGE_HOSTandDEIS_OUTSIDE_STORAGE_PORTenvironment variables exist, uses themcclient to save to S3 server (or server that adheres to the S3 API) athttps://$DEIS_OUTSIDE_STORAGE_HOST:$DEIS_OUTSIDE_STORAGE_PORT(this functionality is currently waiting for merge at deis/builder#21).
- Starts a builder pod according to these rules:
- If a
Dockerfileis present, starts adockerbuilderpod, configured to download the code to build from the URL computed in the previous step (dockerbuilderand Dockerfile builder are not currently supported. See deis/dockerbuilder#1 for prototypedockerbuildercode). - Otherwise, starts a
slugbuilderpod, configured to download the code to build from the URL computed in the previous step.