Skip to main content

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