This repository has been archived on 2026-02-23. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
hammer/.github/workflows/deploy.yml
2025-09-21 15:37:06 +02:00

51 lines
1.7 KiB
YAML

# This is a basic workflow to help you get started with Actions
name: Deploy
# Controls when the workflow will run
on:
push:
branches: ['main']
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Setup SSH Agent
uses: webfactory/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Add VPS to known_hosts
run: |
ssh-keyscan -p ${{ secrets.VPS_PORT }} -H ${{ secrets.VPS_HOST }} >> ~/.ssh/known_hosts
- name: Deploy to VPS
run: |
ssh -p ${{ secrets.VPS_PORT }} ${{ secrets.VPS_USER }}@${{ secrets.VPS_HOST }} "
cd /home/${{ secrets.VPS_USER }}/projects/hammer &&
git pull &&
# Stop and remove old container if exists
docker stop hammer 2>/dev/null || true &&
docker rm hammer 2>/dev/null || true &&
# Build new image
docker build -t hammer . &&
# Run new container
docker run -d \
--restart unless-stopped \
--name hammer \
--network shared-network \
hammer
"