Architecture
GitHub Deployments¶
GitHub provides a Deployments API to register that a deploy should be performed with a repository ref (e.g. SHA, branch, tag) to an environment (e.g. whatever that means to you).
sequenceDiagram
participant Deploybot
participant GitHub
participant Automation as Your CI/CD
Deploybot->> GitHub: create deployment
GitHub-->> Deploybot: Deployment created
GitHub->> Automation: Deployment created Event
activate Automation
Automation--) GitHub: Status pending
Automation--) GitHub: Status success
deactivate Automation
loop Receive
GitHub--) Deploybot: Events
end
GitHub Deploy creation events are sent as webhooks to automation platforms (e.g. GitHub Actions, Buildkite, Drone) that perform the actual deployment work.
Advanced¶
- GitHub Deployment Environments support protection rules (GitHub Enterprise only)