# GHA CI/CD Pipeline ## Overview ```mermaid flowchart TB Build(Build Image) PublishToGCR(Publish to GCR) Deploy2Dev(Deploy to DEV environment) Deploy2Test(Deploy to TEST environment) Deploy2Prod(Deploy to PROD environment) CreateGHRelease(Create GitHub Release) ON_PR_OPEN -->|Source Code| Build ON_PUSH_TO_MAIN -->|Source Code| Build Build-->|Image Reference| PublishToGCR PublishToGCR --> Deploy2Dev Deploy2Dev --> |Deployment Approved| Deploy2Test Deploy2Test -->|Deployment Approved| Deploy2Prod Deploy2Prod --> CreateGHRelease Deploy2Dev -.->|Image Reference| deployment Deploy2Test -.->|Image Reference| deployment Deploy2Prod -.->|Image Reference| deployment style Deploy2Test fill:#FFA836,stroke:#333,stroke-width:4px style Deploy2Prod fill:#FFA836,stroke:#333,stroke-width:4px style CreateGHRelease fill:#FFA836,stroke:#333,stroke-width:4px subgraph deployment[Deployment Steps] direction TB PushImageToOpenshiftRegistry["Push Image to RHOCR"] TagImage["Create/Update Image Tag"] UpdateDeploymentConfig["Update Deployment Config with new image reference"] ApplyDeploymentConfigChanges(Apply Deployment Config Changes) WaitForDeployment(Wait For deployment to finish) Notify(Notify Deployment Success/Error status) PushImageToOpenshiftRegistry --> TagImage TagImage --> UpdateDeploymentConfig UpdateDeploymentConfig --> ApplyDeploymentConfigChanges ApplyDeploymentConfigChanges --> WaitForDeployment WaitForDeployment --> Notify end ``` Notes: - Orange nodes represents a "gated" step ### References - https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment#using-an-environment -
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up