To build Djinn CI, you will need to install the following dependencies,
go
- https://go.dev/dl
stringer
- https://github.com/golang/tools
make sure each of these programs are installed an in your PATH
.
Once installed, clone the repository,
$ git clone https://github.com/djinn-ci/djinn
once cloned, change into the directory and run the make.sh
script. This will
execute all of the tests, transpile the LESS and templates, then build the
curator, consumer, scheduler, server, the worker, and the offline runner.
$ ./make.sh
The compiled programs will be,
bin/djinn
bin/djinn-consumer
bin/djinn-curator
bin/djinn-scheduler
bin/djinn-server
bin/djinn-worker
each of these will be a statically linked binary. The target operating system
and architecture can be changed via GOOS
and GOARCH
environment
variables.
$ GOOS=freebsd GOARCH=amd64 ./make.sh
the flags of the linker can be configured via the LDFLAGS
variable. This
will accept any flags that can normally be configured via the -ldflags
flag
that is passed to the go build
command,
$ LDFLAGS="-s -w" ./make.sh