Skip to content

Deploy site

Deploy site #7

Workflow file for this run

name: Deploy site
on:
push:
tags:
- '20*'
jobs:
config:
uses: ./.github/workflows/config.yml
backend-release:
name: "Backend: Build and publish Container Image"
uses: plone/meta/.github/workflows/[email protected]
needs:
- config
permissions:
contents: read
packages: write
with:
base-tag: ${{ github.ref_name }}
image-name-prefix: ${{ needs.config.outputs.image-name-prefix }}
image-name-suffix: 'backend'
working-directory: 'backend'
build-args: |
PLONE_VERSION=${{ needs.config.outputs.plone-version }}
push: ${{ github.event_name != 'pull_request' }}
secrets:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
frontend-release:
name: "Frontend: Build and publish Container Image"
uses: plone/meta/.github/workflows/[email protected]
needs:
- config
permissions:
contents: read
packages: write
with:
base-tag: ${{ github.ref_name }}
image-name-prefix: ${{ needs.config.outputs.image-name-prefix }}
image-name-suffix: 'frontend'
working-directory: 'frontend'
build-args: |
VOLTO_VERSION=${{ needs.config.outputs.volto-version }}
push: ${{ github.event_name != 'pull_request' }}
secrets:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
varnish-release:
name: "Varnish: Build and publish Container Image"
uses: plone/meta/.github/workflows/[email protected]
needs:
- config
permissions:
contents: read
packages: write
with:
base-tag: ${{ github.ref_name }}
image-name-prefix: ${{ needs.config.outputs.image-name-prefix }}
image-name-suffix: 'varnish'
working-directory: 'devops/varnish'
build-args: ''
push: ${{ github.event_name != 'pull_request' }}
secrets:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
deploy:
needs:
- config
- backend-release
- frontend-release
- varnish-release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Deploy to cluster
uses: kitconcept/[email protected]
with:
registry: "ghcr.io"
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
remote_host: ${{ secrets.DEPLOY_HOST }}
remote_port: ${{ secrets.DEPLOY_PORT }}
remote_user: ${{ secrets.DEPLOY_USER }}
remote_private_key: ${{ secrets.DEPLOY_SSH }}
stack_file: devops/stacks/${{ needs.config.outputs.environment }}.yml
stack_name: ${{ needs.config.outputs.stack-name }}
stack_param: ${{ github.ref_name }}
env_file: ${{ secrets.ENV_FILE }}
deploy_timeout: 480