Add Gitea Actions deployment workflow
Some checks failed
Deploy to Server / deploy (push) Has been cancelled

- Adds a workflow to deploy to the server on master pushes.
- Uses secrets for SSH key, host, user, and port.
- Installs necessary dependencies within the workflow.
- Stashes local changes and pulls the latest changes via SSH.
- Executes the build script after pulling the latest changes.
This commit is contained in:
Roger Gonzalez 2025-05-14 19:35:23 -03:00
parent 4b4c04eead
commit 3250700c4f
Signed by: rogs
GPG Key ID: C7ECE9C6C36EC2E6

View File

@ -0,0 +1,36 @@
name: Deploy to Server
on:
push:
branches:
- master
jobs:
deploy:
runs-on: docker
container:
image: alpine:latest
steps:
- name: Install dependencies
run: |
apk add --no-cache openssh git bash
- name: Setup SSH
run: |
mkdir -p ~/.ssh
echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
chmod 700 ~/.ssh
ssh-keyscan "$SSH_HOST" >> ~/.ssh/known_hosts
chmod 644 ~/.ssh/known_hosts
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
SSH_HOST: ${{ secrets.SSH_HOST }}
- name: Deploy via SSH
run: |
ssh -p "$SSH_PORT" "$SSH_USER@$SSH_HOST" 'cd /home/rogsme/repo && git stash && git pull --force origin master && ./build.sh'
env:
SSH_USER: ${{ secrets.SSH_USER }}
SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_PORT: ${{ secrets.SSH_PORT }}