Skip to content

Uploading Releases

Note

Document uses CLI v2.

(See What is a Release? for an introduction to releases.)

Each deployment can reference one or many releases. For a bosh deploy operation to succeed, all necessary releases must be uploaded to the Director.

Finding Releases

Releases are distributed in two ways: as a release tarball or through a source code repository. The releases section of bosh.io provides a good list of available releases and their tarballs.

Here are a few popular releases:

Note

cf-release was popular when it used to provide all software components for Cloud Foundry. Then [cf-deployment]](https://github.com/cloudfoundry/cf-deployment) emerged with modularized souces of software components, now provided by 30+ Bosh releases.)


Uploading to the Director

CLI provides bosh upload-release command.

  • If you have a URL to a release tarball (for example a URL provided by bosh.io):

    bosh -e vbox upload-release https://bosh.io/d/github.com/cppforlife/zookeeper-release?v=0.0.5 --sha1 65a07b7526f108b0863d76aada7fc29e2c9e2095
    

    Alternatively, if you have a release tarball on your local machine:

    bosh -e vbox upload-release ~/Downloads/zookeeper-0.0.5.tgz
    
  • If you cloned release Git repository:

    Note that all release repositories have a releases/ folder that contains release YAML files. These files have all the required information about how to assemble a specific version of a release (provided that the release maintainers produce and commit that version to the repository). You can use the YAML files to either directly upload a release, or to create a release tarball locally and then upload it.

    git clone https://github.com/cppforlife/zookeeper-release
    cd zookeeper-release/
    bosh -e vbox upload-release
    

    Alternatively, to build a release tarball locally from a release YAML file:

    cd zookeeper-release/
    bosh create-release releases/zookeeper/zookeeper-0.0.5.yml --tarball x.tgz
    bosh -e vbox upload-release x.tgz
    

Once the command succeeds, you can view all uploaded releases in the Director:

bosh -e vbox releases
Using environment '192.168.56.6' as client 'admin'

Name       Version            Commit Hash
dns        0+dev.1496791266*  65f3b30+
zookeeper  0.0.5*             b434447

(*) Currently deployed
(+) Uncommitted changes

3 releases

Succeeded

See Release URLs for more details on the URLs accepted by bosh upload-release.


Deployment Manifest Usage

To use an uploaded release in your deployment, update the releases section in your deployment manifest:

releases:
  - name: zookeeper
    version: 0.0.5