One of the fastest ways to get Jenkins running on any infrastructure is to deploy this bosh release.
To use this bosh release, first upload it to your bosh:
bosh target BOSH_URL
bosh login
git clone https://github.com/cloudfoundry-community/jenkins-boshrelease.git
cd jenkins-boshrelease
bosh upload release releases/jenkins/jenkins-3.yml
You now need a deployment file. This is different for each use case.
Copy the examples/try_me.yml
to say ~/deployments/bosh-lite-jenkins.yml
.
Then target it, update it with the bosh-lite/warden template, and deploy it:
bosh deployment ~/deployments/bosh-lite-jenkins.yml
bosh -n diff templates/v1/warden_deployment_file.yml.erb
bosh -n deploy
You can now view Jenkins in your browser at http://10.244.1.2/
There are three additional manual steps than above:
- acquire a public IP address, say
1.2.3.4
- create a security group with ports 22 & 80 open, say
jenkins
Create a simple initial deployment file, say ~/deployments/jenkins.yml
:
---
name: myjenkins
director_uuid: <%= `bosh status | grep UUID | awk '{print $2}'` %>
networks: {}
properties:
jenkins:
ip_address: 1.2.3.4
security_group: jenkins
persistent_disk: 4096
password: jEnKins
Then target it, update it with the simple template, and deploy it:
bosh deployment ~/deployments/jenkins.yml
bosh -n diff templates/v1/simple_deployment_file.yml.erb
bosh -n deploy
To create a new final release you need to get read/write API credentials to the @cloudfoundry-community s3 account.
Please email Dr Nic Williams and he will create unique API credentials for you.
Create a config/private.yml
file with the following contents:
---
blobstore:
s3:
access_key_id: ACCESS
secret_access_key: PRIVATE
You can now create final releases for everyone to enjoy!
bosh create release
# test this dev release
git commit -m "updated jenkins"
bosh create release --final
git commit -m "creating vXYZ release"
git tag vXYZ
git push origin master --tags