homelab/.gitea/workflows/deploy-to-fighter.yml

54 lines
1.8 KiB
YAML
Raw Normal View History

2024-02-13 10:55:45 -08:00
name: Deploy to Fighter
run-name: ${{ gitea.actor }} deploying
2024-02-13 20:00:59 -08:00
on:
push:
paths:
2024-02-13 20:03:55 -08:00
- 'fighter/**'
2024-02-13 10:55:45 -08:00
jobs:
2024-02-14 10:36:48 -08:00
Deploy:
2024-02-13 21:15:32 -08:00
runs-on: fighter
2024-02-13 10:55:45 -08:00
steps:
2024-02-14 10:36:48 -08:00
- name: Pull latest code onto host via SSH
2024-02-13 10:55:45 -08:00
uses: appleboy/ssh-action@master
with:
host: ${{ vars.SSH_HOST_IP_FIGHTER }} # this is a LAN IP
username: ${{ vars.SSH_USERNAME_FIGHTER }}
key: ${{ secrets.SSH_KEY_DEPLOY_TO_FIGHTER }}
2024-02-13 10:55:45 -08:00
script: |
cd ~/homelab
git pull
2024-02-13 11:27:37 -08:00
- name: Validate compose configs
uses: appleboy/ssh-action@master
with:
host: ${{ vars.SSH_HOST_IP_FIGHTER }} # this is a LAN IP
username: ${{ vars.SSH_USERNAME_FIGHTER }}
key: ${{ secrets.SSH_KEY_DEPLOY_TO_FIGHTER }}
script: |
for stack in /home/$USER/homelab/fighter/config/*
2024-02-13 12:55:59 -08:00
do cd $stack &&
echo "===== Validating $(basename $PWD) =====" &&
docker compose config > /dev/null
2024-02-13 11:27:37 -08:00
done
2024-02-15 01:12:44 -08:00
- name: Deploy new config
uses: appleboy/ssh-action@master
with:
host: ${{ vars.SSH_HOST_IP_FIGHTER }} # this is a LAN IP
username: ${{ vars.SSH_USERNAME_FIGHTER }}
key: ${{ secrets.SSH_KEY_DEPLOY_TO_FIGHTER }}
script: |
for stack in /home/$USER/homelab/fighter/config/*
do cd $stack &&
echo "===== Deploying $(basename $PWD) =====" &&
docker compose up -d
done
2024-02-15 01:20:38 -08:00
Notify:
runs-on: fighter
steps:
- name: Discord notifications
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/action-discord@master
with:
args: '{{ EVENT_PAYLOAD.repository.full_name }} deployed to fighter'