Development Steps at Each Level

The ultimate deliverable of a PCF integration is almost always a tile, a Pivotal Cloud Foundry installation package that is delivered through our marketplace and installed through Pivotal’s Ops Manager. But when developing an integration, it is advisable to start with smaller components of that tile, as it allows you to iterate on those components much faster. We recommend that you approach development in the following phases:

  1. Develop and test the Tile Generator inputs individually
  2. Describe your tile in tile.yml and use Tile Generator to create the tile components
  3. Test the generated deploy errands individually using pcf utility
  4. Deploy the generated BOSH release and complete tile
  5. Implement Continuous Integration (CI) for the complete tile

Overview

If you follow this approach, you may not have a dependency on a complete PCF installation until step 4, and your iterations on the components will be much faster than if you attempt to test them through actual deployment to PCF.

Each of the development phases is described in more detail below.

Develop the Tile Generator Inputs

Tiles are a packaging format to deliver ISV software to PCF customers. Most tiles contain one or more of the following types of components:

  • Service Brokers
  • Managed Services
  • Buildpacks
  • Applications

It is much more efficient to develop and test these components individually than it is to test them through tile deployment. So before you start generating and deploying tiles, always make sure that the components you are deploying already work, individually and in whatever combination you intend to deploy them as a tile.

In most cases, you will not need a full PCF installation to complete these early phases. You can set up a light-weight PCF development environment on your laptop or desktop, possibly including BOSH-Lite if your are developing managed services.

Describe and Generate your Tile

After your components are in working order, download and install the Tile Generator and follow the instructions to describe and generate your actual tile. This is where you list all the components that are to be included, add an icon and a description, and have the option to add forms for values that are to be configured by the PCF operator at installation time.

Test the Deploy and Delete Errands

This is the first step for which you will need a complete PCF deployment. But before you deploy your complete tile to Ops Manager, you can manually deploy your individual components and test the errands created by the Tile Generator using the pcf utility. Doing this is significantly faster than testing the errands through Ops Manager and BOSH, as BOSH will run each errand in a newly created virtual machine.

Deploy your generated BOSH release and full tile

After you have verified that all individual components and errands work, you are ready to deploy your tile’s generated BOSH release from the command line.

Finally, test deploy your tile as your customers would, by uploading it to Ops Manager, installing and configuring the tile, and having Ops Manager apply your changes to the PCF deployment.

The only things you should be testing in this phase are the things that could not be tested in earlier ones:

  • The appearance of the tile forms in Ops Manager
  • The upgrade/migration steps from one version of a tile to another (if applicable)

Everything else should work exactly as it did in prior steps.

Create a pull request or raise an issue on the source for this page in GitHub