Files
nextcloud/.gitea/app-continous-deploy.yaml
2026-03-20 13:36:48 +00:00

71 lines
2.3 KiB
YAML

on:
schedule:
- cron: '0 9 * * 0' # every sunday 9 am
push:
branches:
- main
pull_request:
branches:
- main
jobs:
continuous-deploy:
runs-on: ["deploy", "kubectl"]
env:
GITHUB_TEMP: ${{ runner.temp }} # fix missing GITHUB_TEMP on gitea
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: limbo public actions
env:
WORKSPACE: "${{ gitea.workspace }}"
run: |
curl -fsSL https://git.limbosolutions.com/kb/gitea/raw/branch/main/cloud-scripts/setup-limbo-actions.sh | bash 2>&1
# limbo custom actions required https://git.limbosolutions.com/kb/gitea/raw/branch/main
- name: Configure kubectl config
uses: ./.gitea/limbo_actions/kubectl-setup
with:
kube_server: ${{ secrets.HOSTING_KUBE_SERVER }}
kube_ca_base64: ${{ secrets.HOSTING_KUBE_CA_BASE64 }}
kube_token: ${{ secrets.HOSTING_KUBE_TOKEN }}
- name: Deploy
shell: bash
env:
# cron jobs env
MARIADB_USER: ${{ secrets.MARIADB_USER }}
MARIADB_PASSWORD: ${{ secrets.MARIADB_PASSWORD }}
MARIADB_ROOT_PASSWORD: ${{ secrets.MARIADB_ROOT_PASSWORD }}
MARIADB_DATABASE: ${{ secrets.MARIADB_DATABASE }}
PBS_REPOSITORY: ${{ secrets.PBS_REPOSITORY }}
PBS_PASSWORD: ${{ secrets.PBS_PASSWORD }}
PBS_FINGERPRINT: ${{ secrets.PBS_FINGERPRINT }}
run: |
set -euo pipefail
# ensure cleanup always runs
trap 'rm -f \
deploy/app/.env.d/*' EXIT
# setup secrets files
echo "MARIADB_USER=${MARIADB_USER}" >> deploy/app/.env.d/nextcloud-mariadb.env
echo "MARIADB_PASSWORD=${MARIADB_USER}" >> deploy/app/.env.d/nextcloud-mariadb.env
echo "MARIADB_DATABASE=${MARIADB_DATABASE}" >> deploy/app/.env.d/nextcloud-mariadb.env
echo "PBS_REPOSITORY=${PBS_REPOSITORY}" >> deploy/app/.env.d/pbs.env
echo "PBS_PASSWORD=${PBS_PASSWORD}" >> deploy/app/.env.d/pbs.env
echo "PBS_FINGERPRINT=${PBS_FINGERPRINT}" >> deploy/app/.env.d/pbs.env
# enforce secrets files security
chmod 600 deploy/app/.env.d/*
# invoke deploy script
ops-scripts/apply-app.sh