Schema CI/CD
It's recommended to integrate Inigo's CLI into your existing CI/CD pipelines for the following reasons:
- Automate
inigo check
to prevent merging of breaking schema changes in a CI pipeline - Automate
inigo apply
in a CD pipeline to apply baselined Inigo configs and schema changes from a Git repository - Automate schema deployments when schema introspection is disabled or unavailable to the Inigo sidecar or gateway integration, specifically:
- Inigo sidecar when introspection is disabled on the server
- Apigee and Kong integrations (always required)
Figure 1 shows an example feature branching strategy incorporating Inigo.
Figure 1. Integrating inigo check
and inigo apply
into a Git feature branching strategy
GitHub Actions
To integrate Inigo into your CI/CD pipelines, see the GitHub Action documentation for how the inigo
CLI can be installed and run from a pipeline. CI/CD tools other than GitHub Actions will work similarly.
CI/CD Integration for Single Schemas
When integrating Inigo's CLI into your CI/CD pipelines for single schemas, the Service
can be configured to manage the schema. After configuring the schema, inigo check
and inigo apply
can be run in the CI/CD pipelines for that schema.
CI/CD Integration for Federated Schemas
When integrating Inigo's CLI into your CI/CD pipelines for federated schemas, it's preferred to use the Gateway
+ Subgraph
(Option #1) approach. This will allow individual subgraphs in separate Git repositories to separately run their own inigo check
and inigo apply
for their respective Subgraph
. This is especially useful when Git branching strategies are used, as inigo check
can run before a branch is merged (i.e. a feature branch merged into a dev
branch). See Figure 1 for an example design.