No description
Find a file
hicham 74109491c8
All checks were successful
Continuous Integration / Test rsync is not installed (push) Successful in 6s
Continuous Integration / Test empty files (push) Successful in 12s
Continuous Integration / Test file doesn't exist (push) Successful in 13s
Continuous Integration / Test default remote path (push) Successful in 18s
Continuous Integration / Test custom remote path (push) Successful in 18s
Continuous Integration / Test custom remote command (push) Successful in 18s
Continuous Integration / Test rsync flags (push) Successful in 17s
Continuous Integration / Cleanup (push) Successful in 2s
Add rsync_flags test
2026-03-30 21:09:24 +02:00
.forgejo/workflows Add rsync_flags test 2026-03-30 21:09:24 +02:00
action.yml feat: add rsync_flags input for passing extra flags to rsync 2026-03-20 17:18:08 +01:00
compose.yml First commit 2025-08-21 17:29:20 +02:00
deploy.code-workspace First commit 2025-08-21 17:29:20 +02:00
LICENSE First commit 2025-08-21 17:29:20 +02:00
README.md Add rsync_flags to README 2026-03-30 21:00:28 +02:00

deploy

Build status

Copy files to a remote host using rsync and deploy using Docker Compose.

Inputs

parameter description default
files Files to copy (required)
ssh_user SSH user (required)
ssh_host SSH host (required)
ssh_port SSH port "22"
remote_path Remote path to deploy to "/home/${{ inputs.ssh_user }}/${{ github.repository }}"
rsync_flags Extra flags to pass to rsync
deploy_command Deploy command "docker compose up --build --remove-orphans -d"

Example

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: https://git.hicham.party/actions/apt-upgrade-install@v1
        with:
          packages: rsync
      - uses: webfactory/ssh-agent@v0.9.1
        with:
          ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
      - uses: https://git.hicham.party/actions/apt-upgrade-install@v1
        with:
          ssh_user: ${{ secrets.HOST_USER }}
          ssh_host: ${{ secrets.HOST }}
          ssh_port: ${{ secrets.HOST_SSH_PORT }}
          files: "compose.yml .env"