Deployment trigger, Gotify notifications.

This commit is contained in:
2025-01-09 13:03:54 -05:00
parent 296660a17c
commit a363945eb8
+58 -10
View File
@@ -120,8 +120,8 @@ jobs:
flarectl dns create --zone "trez.wtf" --name "${subdomain}" --type=CNAME --content "trez.wtf"
done
merge-pr-regenerate-readme:
name: PR Merge
regenerate-readme:
name: Update README
runs-on: ubuntu-latest
if: ${{ always() }}
needs: [cloudflare-dns-setup]
@@ -152,17 +152,65 @@ jobs:
commit_username: gitea-sonarqube-bot
commit_message: "docs: regenerate README"
deployment-trigger:
name: Deployment Trigger
if: ${{ always() }}
needs: [generate-readme]
runs-on: ubuntu-latest
outputs:
CONTINUE_JOBS: ${{ steps.deploy-trigger.outputs.CONTINUE_JOBS }}
steps:
- name: PR Merge
run: |
tea login add --name gitea-rinoa --url ${{ secrets.RINOA_GITEA_URL }} --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }}
pr_index=$(tea pr ls --repo ${{ github.repository }} --state open --fields index,title,head,state --output csv | egrep ${{ gitea.ref_name }} | awk -F, '{print $1}' | sed -e 's|"||g')
tea pr m --repo ${{ github.repository }} --title "Auto Merge of PR #${pr_index} - ${{ gitea.ref_name }}" --message "Merged by ${{ gitea.actor }}" --output table ${pr_index}
- name: Gotify Notification
uses: eikendev/gotify-action@master
with:
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
gotify_app_token: '${{ secrets.RINOA_GOTIFY_TOKEN }}'
notification_title: 'Ready to Deploy'
notification_message: 'Ready to deploy: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}/jobs/${{ github.job }}'
- name: Trigger Deployment
id: deploy-trigger
uses: benhamiltonpro/manual-trigger@v1
with:
RUN_NAME: "docker-compose-deploy"
docker-compose-deploy:
name: Merge and Deploy
if: ${{ needs.deployment-trigger.outputs.CONTINUE_JOB == 'manual-step' }}
runs-on: ubuntu-latest
env:
VAULT_ADDR: ${{ secrets.RINOA_VAULT_ADDR }}
VAULT_TOKEN: ${{ secrets.RINOA_VAULT_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: main
- name: Install tea
uses: supplypike/setup-bin@v4
with:
uri: https://dl.gitea.com/tea/main/tea-main-linux-amd64
name: tea
version: main
uri: 'https://gitea.com/gitea/tea/releases/download/v0.9.2/tea-0.9.2-linux-amd64'
name: 'tea'
version: '0.9.2'
- name: Install Vault
uses: cpanato/vault-installer@main
# - name: PR Merge
# run: |
# tea login add --name gitea-rinoa --url ${{ secrets.RINOA_GITEA_URL }} --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }}
# pr_index=$(tea pr ls --repo ${{ github.repository }} --state open --fields index,title,head,state --output csv | egrep ${{ gitea.ref_name }} | awk -F, '{print $1}' | sed -e 's|"||g')
# tea pr m --repo ${{ github.repository }} --title "Auto Merge of PR #${pr_index} - ${{ gitea.ref_name }}" --message "Merged by ${{ gitea.actor }}" --output table ${pr_index}
- name: Generate .env file for deployment
run: |
vault kv get -format=json rinoa-docker/env | jq -r '.data.data' | jq -r 'keys[] as $k | "\($k)='\''\(.[$k])'\''"' > .env
- name: Docker Compose Deployment
uses: Autom3/docker-deployment-action@3.0.1
with:
remote_docker_host: gitea-deploy@192.168.1.254
ssh_private_key: ${{ secrets.RINOA_GITEA_PRIVATE_SSH_KEY }}
ssh_public_key: ${{ secrets.RINOA_GITEA_PUBLIC_SSH_KEY }}