commit | ffda4fc821e65b8af792cca961ae548d6b8b331f | [log] [tgz] |
---|---|---|
author | Michael Neale <michael.neale@gmail.com> | Fri Sep 26 20:07:07 2014 +1000 |
committer | Michael Neale <michael.neale@gmail.com> | Fri Sep 26 20:07:07 2014 +1000 |
tree | 814c068e404a244b12cc226465f2afb72c1478a5 | |
parent | f3c1c3e3b7da9baebd0c7a0869f507dc327a21e7 [diff] | |
parent | 29abe2d746388ab607c0d6a000af43b440d2ba01 [diff] |
Merge pull request #10 from alex-leonhardt/master #9 - fix for persistent VOLUME
The Jenkins Continuous Integration and Delivery server.
This is a fully functional Jenkins server, based on the Long Term Support release http://jenkins-ci.org/
docker run -p 8080:8080 jenkins
This will store the workspace in /var/jenkins_home. All Jenkins data lives in there - including plugins and configuration. You will probably want to make that a persistent volume (recommended):
docker run --name myjenkins -p 8080:8080 -v /your/home:/var/jenkins_home jenkins
The volume for the "myjenkins" named container will then be persistent.
You can also bind mount in a volume from the host:
First, ensure that /your/home is accessible by the jenkins user in container (jenkins user - uid 102 normally - or use -u root), then:
docker run -p 8080:8080 -v /your/home:/var/jenkins_home jenkins
If you bind mount in a volume - you can simply back up that directory (which is jenkins_home) at any time. This is highly recommended. Treat the jenkins_home directory as you would a database - in Docker you would generally put a database on a volume.
If your volume is inside a container - you can use docker cp $ID:/var/jenkins_home
command to extract the data.
You can run builds on the master (out of the box) buf if you want to attach build slave servers: make sure you map the port: -p 50000:50000
- which will be used when you connect a slave agent.
Here is an example docker container you can use as a build server with lots of good tools installed - which is well worth trying.
All the data needed is in the /var/jenkins_home directory - so depending on how you manage that - depends on how you upgrade. Generally - you can copy it out - and then "docker pull" the image again - and you will have the latest LTS - you can then start up with -v pointing to that data (/var/jenkins_home) and everything will be as you left it.