apt-get install -y mercurial git-core wget make
wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go*-*.tar.gz
wget https://storage.googleapis.com/golang/go1.4.2.darwin-amd64-osx10.8.tar.gz
sudo tar -C /usr/local -xzf go*-*.tar.gz
brew install go
wget https://storage.googleapis.com/golang/go1.4.2.darwin-amd64-osx10.8.pkg
open go*-*.pkg
pkg install go-1.4.2 gmake git mercurial
The Docker Engine is required to create pre-built image that is embedded into runner and loaded when using docker executor.
Add to .profile
or .bash_profile
:
export GOPATH=$HOME/Go
export PATH=$PATH:$GOPATH/bin:/usr/local/go/bin
Create new terminal session and create $GOPATH directory:
mkdir -p $GOPATH
go get gitlab.com/gitlab-org/gitlab-ci-multi-runner
cd $GOPATH/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/
This will download and restore all dependencies required to build runner:
make deps
For FreeBSD use gmake deps
Normally you would use gitlab-runner
, in order to compile and run Go source use go toolchain:
make install
gitlab-ci-multi-runner run
You can run runner in debug-mode:
make install
gitlab-ci-multi-runner --debug run
make install
You can start hacking GitLab-Runner code. If you are interested you can use Intellij IDEA Community Edition with go-lang-idea-plugin to edit and debug code.
This error happens due to missing executors/docker/bindata.go file that is generated from docker prebuilts. Which is especially tricky on Windows.
Try to execute: make deps docker
, if it doesn't help you can do that in steps:
- Execute
go get -u github.com/jteeuwen/go-bindata/...
- Download https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/master/docker/prebuilt.tar.gz and save to out/docker/prebuilt.tar.gz
- Execute
make docker
or check the Makefile how this command looks like