Deployments are handled by Control Plane configuration in this repo and GitHub Actions.
- Add a comment
/deploy-review-appto any PR to deploy a review app - The generated app name is
${REVIEW_APP_PREFIX}-${PR_NUMBER}. KeepREVIEW_APP_PREFIXset toqa-react-webpack-rails-tutorial-prso review apps use names likeqa-react-webpack-rails-tutorial-pr-1234, matching the prefix-backed config in.controlplane/controlplane.yml. - New pushes to a PR redeploy only after the review app already exists.
- Add
/delete-review-appto delete a review app manually; closing the PR also deletes it automatically.
- Automatic: Any merge to the
masterbranch automatically deploys to staging - URLs:
- Manual: Run the cpflow-promote-staging-to-production workflow on GitHub
- Rollback restores workload images only; database migrations and other
--run-release-phaseside effects are not reversed automatically. - URLs:
Required repository secrets:
CPLN_TOKEN_STAGINGCPLN_TOKEN_PRODUCTION
Required repository variables:
CPLN_ORG_STAGING=shakacode-open-source-examples-stagingCPLN_ORG_PRODUCTION=shakacode-open-source-examples-productionSTAGING_APP_NAME=react-webpack-rails-tutorial-stagingPRODUCTION_APP_NAME=react-webpack-rails-tutorial-productionREVIEW_APP_PREFIX=qa-react-webpack-rails-tutorial-prSTAGING_APP_BRANCH=masterPRIMARY_WORKLOAD=rails
Optional repository settings:
DOCKER_BUILD_SSH_KEY: secret for private SSH dependencies during Docker builds.DOCKER_BUILD_EXTRA_ARGS: newline-delimited Docker build tokens, such as--build-arg=FOO=bar.DOCKER_BUILD_SSH_KNOWN_HOSTS: customknown_hostsentries when SSH build hosts are not GitHub.com.CPLN_CLI_VERSION: pin a specific@controlplane/cliversion; defaults to the generated action pin.CPFLOW_VERSION: pin a specific cpflow gem version; defaults to the generated action pin.HEALTH_CHECK_ACCEPTED_STATUSES: production promotion health statuses; defaults to200 301 302.HEALTH_CHECK_RETRIES/HEALTH_CHECK_INTERVAL: production health polling controls; defaults to24retries and15seconds.ROLLBACK_READINESS_RETRIES/ROLLBACK_READINESS_INTERVAL: post-rollback health polling controls; defaults to24retries and15seconds.
If staging moves off master, update both STAGING_APP_BRANCH and the branch
filter in .github/workflows/cpflow-deploy-staging.yml.
When the upstream control-plane-flow repo changes the generated GitHub Actions
flow, regenerate the cpflow-* actions/workflows in this repo from the target
cpflow version or branch using --staging-branch master, review the diff, and
keep the repository variables above aligned with .controlplane/controlplane.yml. Validate with
cpflow github-flow-readiness, actionlint .github/workflows/cpflow-*.yml, and
the normal CI checks before merging.
See readme.md for more details.