You will need the same set of prerequesites listed in the Deploy CF for K8s documentation. The CLIs will need to be available in the image used by your CI system.
The following scripts are designed to be executable in a CI system, as well as locally:
-
Generate all required configuration settings for a given domain:
$ ./hack/generate-values.sh <domain> > <path-to-cf-install-values-yaml>
-
Install CF for K8s to your target K8s cluster.
$ ./bin/install-cf.sh <path-to-cf-install-values-yaml>
-
Update the wildcard entry for the given domain with the correct load-balancer IP address (if you are using Google Cloud DNS).
$ ./hack/update-gcp-dns.sh <domain> <dns-zone-name>
-
Run the smoke test suite against your CF for K8s installation.
$ export SMOKE_TEST_API_ENDPOINT=api.<domain> $ export SMOKE_TEST_APPS_DOMAIN=<domain> $ export SMOKE_TEST_USERNAME=<cf-admin-user> $ export SMOKE_TEST_PASSWORD=<cf-admin-password> $ ./hack/run-smoke-tests.sh
There are two Docker images maintained by us that can be used for a CI pipeline:
Image Tag | Description |
---|---|
relintdockerhubpushbot/cf-for-k8s-ci |
This image contains everything required to generate your installation values and install CF for K8s to a K8s cluster. |
relintdockerhubpushbot/cf-test-runner |
This image contains everything required to run the smoke tests. |
You can see an example of how we combined these scripts in our own CI pipeline here.