Giter Club home page Giter Club logo

jenkins-boshrelease's Introduction

Bosh release for Jenkins

One of the fastest ways to get Jenkins running on any infrastructure is to deploy this bosh release.

Usage

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.

bosh-lite/warden deployments

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/

AWS or OpenStack deployments

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

Create new final release

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

jenkins-boshrelease's People

Contributors

aespinosa avatar drnic avatar mrdavidlaing avatar paweloczadly avatar shinji62 avatar trastle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jenkins-boshrelease's Issues

Cant upload release

I am getting the following error when trying to upload the release, are the keys still valid??
With the following line on the final.yml I am getting:

encryption_key: PERSONAL_RANDOM_KEY
$ ~/workspace/jenkins-boshrelease$ bosh upload release releases/jenkins-3.yml

Copying packages
----------------
bosh-cli (1)                  FOUND REMOTE
Downloading f823eac5-6af6-494b-a472-5d4fb5936167...
Blobstore error: Failed to fetch object, underlying error: #<AWS::Core::Http::NetHttpHandler::TruncatedBodyError: content-length does not mat
ch> /home/ubuntu/.rbenv/versions/1.9.3-p547/lib/ruby/gems/1.9.1/gems/aws-sdk-1.32.0/lib/aws/core/http/net_http_handler.rb:83:in `ensure in bl
ock (2 levels) in handle'

And without it:

# encryption_key: PERSONAL_RANDOM_KEY
$ ~/workspace/jenkins-boshrelease$ bosh upload release releases/jenkins-3.yml

Copying packages
----------------
bosh-cli (1)                  FOUND REMOTE
Downloading f823eac5-6af6-494b-a472-5d4fb5936167...
bosh-cli (1) is corrupted in blobstore (id=f823eac5-6af6-494b-a472-5d4fb5936167)

Is there something missing on the README maybe?

Thanks!
Bonzonfenix && Lcacciagioni

Golang

Hi drNic,
I want to add to this release, so before making a PR I want to know if you are ok with this.
For exemple for cf acceptance test, we need go, godep and so one to be install.

I can create another bosh release and colocate a job in template but I think this can be into this bosh-release.

bosh-lite deployment step fails

Excuse my ignorance, but trying to run the bosh-lite-based example failed for me:

jenkins-boshrelease$ bosh -n deploy
Getting deployment properties from director...
Unable to get properties list from director, trying without it...
Compiling deployment manifest...
�Latest version for stemcell `bosh-stemcell' is unknown�

The following seems to fix the issue (or at least let me move past it):

diff --git a/templates/v1/warden_deployment_file.yml.erb b/templates/v1/warden_deployment_file.yml.erb
index 2b18cb3..058ecc8 100644
--- a/templates/v1/warden_deployment_file.yml.erb
+++ b/templates/v1/warden_deployment_file.yml.erb
@@ -75,7 +75,7 @@ resource_pools:
   network: default
   size: 1
   stemcell:
-    name: bosh-stemcell
+    name: bosh-warden-boshlite-ubuntu
     version: latest
   cloud_properties: {}

But presumably this ought to be specified in examples/try_me.yml; aws.yml has a stemcell definition but try_me.yaml lacks any resource_pools section and I am unsure of the syntax.

Licence?

Hi Dr Nic,

could you clarify the license on this code?

a standard 'LICENCE' file added to the repo would be ideal.

thanks

James M

unable to deploy jenkins-8.yml

We are pretty new to bosh and learning in setting up a jenkins instance in aws.

However when running the following setup on bosh cli we are getting the following error. Please help resolve the same.

[bosh@bosh-test jenkins-boshrelease]$ bosh version
BOSH 1.3184.1.0

But we are unable to do bosh upload

[bosh@bosh-test jenkins-boshrelease]$ bosh upload release releases/jenkins/jenkins-8.yml

Error:
[bosh@bosh-test jenkins-boshrelease]$ bosh upload release releases/jenkins/jenkins-8.yml
Acting as user 'admin' on 'my-bosh'
Downloading from blobstore (id=03abf9ca-4591-4fde-86e1-11530922e66c)...
Blobstore error: sha1 mismatch expected=61dec218dcc638c9255323a35cb77c8f1aaef1c1 actual=c0769e818bddff75868eeea66243dd929f38911b

Can you please assist.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.