rogs.me/.gitea/workflows/deploy.yml
Roger Gonzalez 3250700c4f
Some checks failed
Deploy to Server / deploy (push) Has been cancelled
Add Gitea Actions deployment workflow
- 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.
2025-05-14 19:35:23 -03:00

37 lines
939 B
YAML

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 }}