GitHub on CloudSonic

Push to GitHub and deploy to your CloudSonic server automatically on every merge to main

TL;DR GitHub

Connect your GitHub repository to CloudSonic and deploy via Git push. Full root SSH access means you can set up any deployment workflow that works for your team.

GitHub is a web-based platform for version control and collaboration using Git. CloudSonic works with GitHub out of the box, letting you deploy to your server via Git push or any CI/CD pipeline that can run commands over SSH. With full root access available, you can set up GitHub Actions to automatically deploy to your server, clear caches, and restart services on every push to your production branch.

Prerequisites
  • GitGit

GitHub for Deployment and CI/CD on CloudSonic

CloudSonic works with GitHub via SSH key authentication, allowing your GitHub Actions workflows to connect to your server on port 2222 and run deployment commands, database migrations, cache clears, and service restarts as part of your CI/CD pipeline. Store your CloudSonic SSH private key as a GitHub Actions secret, add it to your workflow, and you have a complete automated deployment pipeline from push to production without any proprietary tooling. Tailscale can also be used within GitHub Actions to connect to your server over your private Tailscale network rather than exposing SSH publicly.

Warning Store your SSH private key as a secret in GitHub Actions and never hard-code it in your workflow files or repository.

Useful Commands

name: Deploy
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Deploy to server
        uses: appleboy/ssh-action@v1
        with:
          host: ${{ secrets.SERVER_IP }}
          username: cloudsonic
          key: ${{ secrets.SSH_KEY }}
          port: 2222
          script: |
            cd /applications/your-site/public_html
            git pull origin main
            wp cache flush --path=/applications/your-site/public_html