This image can be used to build GoCD installers. Similar to the installers you can find on the GoCD download page. This is especially useful, when you're making changes to GoCD's installer scripts and want to try them out.
- latest (corresponds to 14.4.0, see below)
- 14.4.0 (corresponds to 14.4.0-1356, the latest release, as on Feb 23, 2015)
docker run -it --rm=true -v `pwd`/out:/installers gocd/gocd-build-installer deb
The example above builds only a Debian installer, since only "deb" is specified at the end of that command. You can use the same command to create multiple installers. Like this:
docker run -it --rm=true -v `pwd`/out:/installers gocd/gocd-build-installer rpm osx
The installers will be available in the directory you setup as a volume. In the above commands, it is "out" directory in the current working directory.
You can also use this image to build an installer for any arbitrary commit in any repository you want. See the "Options" section below.
This docker image is quite big (nearly 2GB, I think), since it has a copy of the codebase, most of the dependent JARs (in ~/.m2) and packages needed for it, such as Java, Maven, NSIS, etc.
The available options for kind of installers that can be created are:
win or windows osx or mac deb or debian rpm or redhat or centos zip
To build installers for an arbitrary commit in some repository, you can use the REPO and BRANCH environment variables. For instance, running the command below will build the Debian and RPM installers for my_new_feature branch in the repository mentioned:
docker run -it -v `pwd`/installers:/installers -e REPO=https://github.com/arvindsv/gocd.git -e BRANCH=my_new_feature gocd/gocd-build-installer deb rpm
- Because of an issue with the NSIS installer, this pull request needs to be accepted into the GoCD codebase, before the Windows installer successfully builds.
If you do not want to specify a volume to use, then you can use
docker cp. Like this:
docker run -it gocd/gocd-build-installer deb docker cp CONTAINER-ID:/installers /some/path
Sources of this docker container (the Dockerfile, etc) are here, on GitHub.