Deployment¶
Deployments are handled via GitHub Actions using the shared reusable workflow from subscribed-aps/workflows.
Workflow¶
The deployment workflow is defined in .github/workflows/deploy-bedrock.yml.
Deployments are manually triggered via workflow_dispatch from the GitHub Actions UI. You select the target branch/environment before running.
| Environment | Branch | Description |
|---|---|---|
develop | develop | Staging / QA environment |
master | master | Production |
How it works¶
- The workflow calls the shared
deploy-bedrock.ymlreusable workflow fromsubscribed-aps/workflows. - The shared workflow handles SSH access, Composer installs, symlinking releases, and running WP-CLI migrations.
- Releases are stored under
system/releases/on the server. The deployment script submodule atdevops/deployment-scriptprovides the server-side logic. - Shared persistent directories (
web/app/uploads,web/app/languages) are symlinked from a shared location on the server rather than being included in each release.
Triggering a deployment¶
- Go to Actions → Deploy Bedrock in the GitHub repository.
- Click Run workflow.
- Select the target environment (
developormaster). - Click Run workflow.
Required secrets¶
The following secrets must be set in the GitHub repository settings:
| Secret | Description |
|---|---|
SSH_PRIVATE_KEY | SSH key with access to the production server |
KNOWN_HOSTS | SSH known_hosts entry for the server |
| Any secrets consumed by the shared workflow | See subscribed-aps/workflows for the full list |