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

As described earlier, each deployment references one or many releases on the Director. Before the Director can form a deployment, all referenced 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:


Uploading to the Director

Assuming that the CLI is already targeted at the Director, the CLI provides a single command to upload a release.

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

    $ bosh upload release https://bosh.io/d/github.com/cloudfoundry/cf-release
    

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

    $ bosh upload release ~/Downloads/redis-12.tgz
    
  • If you cloned a 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.

    $ cd ~/workspace/redis-boshrelease
    
    $ bosh upload release releases/redis/redis-12.yml
    

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

    $ cd ~/workspace/redis-boshrelease
    
    $ bosh create release releases/redis/redis-12.yml --with-tarball
    
    $ bosh upload release releases/redis/redis-12.tgz
    

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

$ bosh releases

+--------+----------+-------------+
| Name   | Versions | Commit Hash |
+--------+----------+-------------+
| redis  | 12       | 3eb40ae4    |
| mesos  | 1        | d07b570b    |
+--------+----------+-------------+
(*) Currently deployed
(+) Uncommitted changes

Releases total: 5

Deployment Manifest Usage

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

releases:
- {name: redis, version: 12}

Next: Deploying

Previous: Uploading Stemcells


Contribute changes to this page