GitHub Actions Integration

Last updated: April 12, 2026

ShipDock natively manages your CI/CD by instantly catching push webhooks on your branch. This completely replaces the need for writing complex Docker build pipelines inside GitHub Actions.

Parallel CI Workflows

However, if you wish to retain GitHub Actions for unit testing and linting, you should disable "Auto Deploy on Push" in your ShipDock Project settings. This ensures ShipDock only deploys after your tests pass.

Add the following workflow file to your repository at .github/workflows/shipdock-deploy.yml to trigger ShipDock only when your tests successfully conclude:

shipdock-deploy.yml
name: Deploy to ShipDock

on:
  push:
    branches: ["main"]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run Unit Tests
        run: npm test

  deploy:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - name: Trigger ShipDock Deploy
        run: |
          curl -X POST https://api.shipdock.example.com/api/deployments/
          -H "Authorization: Bearer ${{ secrets.SHIPDOCK_TOKEN }}"
          -H "Content-Type: application/json"
          -d '{"project_id": "YOUR_PROJECT_ID"}'

Authentication

Ensure you generate an API Token in your ShipDock Account Settings and paste it into your GitHub repository's Action Secrets under the name SHIPDOCK_TOKEN.