Skip to content

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)