Skip to main content

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.

Feature Branch, Composed Schema
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.