GitHub Integration Plugin for Spinnaker Overview
GitHub Integration Plugin features
The GitHub Integration Plugin provides the following GitHub integration features:
- Trigger a GitHub Actions workflow from a Spinnaker pipeline using workflow_dispatch or repository_dispatch events.
- Trigger a Spinnaker pipeline automatically when a GitHub workflow finishes successfully.
- Trigger a Spinnaker pipeline when GitHub creates a new GitHub Deployment.
- Monitor a GitHub workflow and finish pipeline execution based on the GitHub workflow result.
- Update GitHub deployment status based on Spinnaker pipeline outcome.
- View GitHub Action Logs in Spinnaker – there is no need to navigate to GitHub to view the logs.
- Validate GitHub access based on configuration assigned to a GitHub App account.
- Create GitHub commit statuses using Echo.
- Use AuthZ for your GitHub Accounts.
The GitHub Integration plugin uses GitHub Apps to integrate with GitHub. GitHup Apps provide webhooks and narrow, specific permissions. You can install a GitHub App that gives the GitHub Integration plugin access to all the repos in your GitHub organization, or you can install a Github App that gives the GitHub Integration plugin access to specific repos. You can install as many GitHub Apps as your use case requires.
How the plugin works with GitHub
graph TD Orca -->|Workflow Trigger| Igor Gate --> |Trigger based on Deployment event|Echo Igor -->|Trigger/Monitor triggered workflows| GitHub Echo -->|Pipeline triggers|Orca Orca -->|Pipeline notifications|Echo GitHub --> |Deployment event| Gate Echo --> |Notifications|GitHub
For example, the plugin processes a GitHub Deployment event like this:
sequenceDiagram participant ghActions as "GitHub Workflow job" participant gh as "GitHub" participant gate as "Gate" participant echo as "Echo" participant orca as "Orca" ghActions ->> gh: "Create Deployment" gh ->> ghActions: "Deployment created" gh ->> gate: "Deployment Event" gate ->> echo: "Deployment trigger event" echo ->> orca: "Trigger pipelines matching the Trigger event" orca ->> gh: "Deployment status update: in_progress, success, failure, or error"
Compatibility matrix
Armory CD Version | Spinnaker Version | GitHub Integration Plugin Version |
---|---|---|
2.30.x | 1.30.x | 0.1.2 |
Installation paths
Armory Operator
Use a Kustomize patch to install the plugin.
- Create a GitHub App and install it in your repo or organization.
- Configure the plugin with your GitHub repo(s) and/or organization(s).
- Install the plugin using the Armory Operator.
Spinnaker Operator
Use a Kustomize patch to install the plugin.
- Create a GitHub App and install it in your repo.
- Configure the plugin with your GitHub repo(s) and/or organization(s).
- Install the plugin using the Spinnaker Operator.
Halyard
Use Spinnaker local config files to install the plugin.
- Create a GitHub App and install it in your repo.
- Configure the plugin with your GitHub repo(s) and/or organization(s).
- Install the plugin in local config files and apply those changes using Halyard.
Feedback
Was this page helpful?
Thank you for letting us know!
Sorry to hear that. Please tell us how we can improve.
Last modified December 12, 2023: (4f38446f)