Skip to content

Automate PCF Tile pipeline with CI

Stages of PCF Tile release, in order of dependency

  1. Omnibus
  2. Bosh
  3. Tile
  4. PivotalNetwork

Omnibus releases could trip the bosh-release process . But should we? Should we lock it to a minor version, and follow bugfixes? How would we handle such a scenario?

BOSH includes the bosh-release process. Update the included GitLab EE omnibus package, confirm with an MR build, merge. master pushes to the release S3 bucket.

Tile uses tile-generator to configured the metadata and package the bosh release into a tarball (.pivotal) file. Changes across point revisions are generally straight forward, but currently involve small amounts of manual work to update the Makefile and tile.yml in use by gitlab-ee-with-tile-gen. This currently does not build master and place into any S3 bucket. Some of this testing is automated with Concourse CI at Pivotal

Once the Tile is generated (manual process, being documented), this needs to be uploaded to a PCF OpsManager 1.8+ for testing (including upgrading) prior to being submitted to PivotalNetwork (currently manual, options for some automation exist with Concourse).

I believe that it makes sense to at the least have BOSH trigger Tile, and spit to an S3 bucket. The question is can we automate the Omnibus -> BOSH relationship, and how much of the Tile -> PivotNetwork can actually be automated. A human intervention step still needs to be completed when it comes to actual "release" of a Tile on PivotalNetwork, because we have a questionaire, OSL, and ECCN requirements that have to be confirmed and reviewed by Pivotal's Compliance folks.

At this time BOSH master builds trigger a release pushed to S3, and as a last step, trip a GitLab CI API call to the resources in this repository. We no longer use the vara resources here, however. This needs to be re-pointed to Tile, or removed if the Concourse CI with Pivotal is monitoring that bucket. We do, however, need to be able to control the version* numbers of the tile.

I see a few hurdles here, but they can likely be worked through with some collective discussion.