Deployment trigger, Gotify notifications.
This commit is contained in:
@@ -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 }}
|
||||
|
||||
Reference in New Issue
Block a user