Integrating Waypoint with CircleCI
We can leverage CircleCI's orb concept to simplify configuring the deployment of applications. This example configures CircleCI to configure a standalone Waypoint setup temporarily, with the server and runner executing within the CircleCI job itself.
The example demonstrates the main steps:
- Set-up the dependencies Waypoint might use. This could be a Kubernetes context for a more advanced application, or in the below example, a Docker daemon to run applications on.
- Install and Initalize Waypoint with
waypoint/init. This command will install the waypoint CLI, start up a remote docker instance and run
- Run the build, deploy, and release. We can leverage the orb's
upcommand to do so
This example assumes the use of a single default workspace. If this was in a job triggered by a GitHub commit or pull request and may be an ephemeral development environment, you may want to interpolate the relevant Git ref for the workspace parameter, as demonstrated below:
steps: - waypoint/up: workspace: $CIRCLE_BRANCH
See the CircleCI built-in environment variables page for a full list of variables that could be utilized in this way.
--- version: 2.1 orbs: waypoint: firstname.lastname@example.org jobs: build: executor: waypoint/default environment: WAYPOINT_SERVER_ADDR: '' WAYPOINT_SERVER_TOKEN: '' WAYPOINT_SERVER_TLS: '1' WAYPOINT_SERVER_TLS_SKIP_VERIFY: '1' steps: - checkout - waypoint/init - waypoint/up