preview
Preview Environments
Deploying Preview Environments on Pull Request
Below is an example implementation that packages and deploys the latest code from a pull request to a preview environment on every push.
name: Create Preview Environment
on:
pull_request:
types: [ synchronize, opened, reopened, ready_for_review ]
concurrency:
group: preview-${{ github.head_ref }}
cancel-in-progress: true
jobs:
deploy:
uses: skpr/gh-workflows/.github/workflows/preview-create.yml@main
secrets:
skpr_preview_registry_url: ${{ secrets.SKPR_PREVIEW_REGISTRY_URL }}
skpr_preview_username: ${{ secrets.SKPR_PREVIEW_USERNAME }}
skpr_preview_password: ${{ secrets.SKPR_PREVIEW_PASSWORD }}
with:
ref: ${{ github.event.pull_request.head.ref }}
eks_cluster_name: CHANGE_ME
k8s_namespace: CHANGE_ME
domain: CHANGE_ME
post_deploy_command: drush deploy
Deleting Preview Environments on Pull Request Close
Below is an example implementation that deletes an environment when a pull request is closed or converted to the draft state.
name: Delete Preview Environment
on:
pull_request:
types: [ closed, converted_to_draft ]
concurrency:
group: preview-${{ github.head_ref }}
cancel-in-progress: true
jobs:
deploy:
uses: skpr/gh-workflows/.github/workflows/preview-delete.yml@main
secrets:
skpr_preview_username: ${{ secrets.SKPR_PREVIEW_USERNAME }}
skpr_preview_password: ${{ secrets.SKPR_PREVIEW_PASSWORD }}
with:
ref: ${{ github.event.pull_request.head.ref }}
eks_cluster_name: CHANGE_ME
k8s_namespace: CHANGE_ME