Easily deploy an app to your Dokku Instance from GitHub
:sparkles: Now support deployments over Cloudflare Tunnels using Cloudflared
See obrassard/action@cloudflared
for more details.
Please note that this action is compatible with dokku >= 0.11.6
.
dokku_repo
Required. The dokku app's git repository url (in SSH format).
Example : ssh://dokku@dokku.myhost.ca:22/appname
ssh_key
Required. An private ssh key that has push acces to your Dokku instance.
Example :
-----BEGIN OPENSSH PRIVATE KEY-----
MIIEogIBAAKCAQEAjLdCs9kQkimyfOSa8IfXf4gmexWWv6o/IcjmfC6YD9LEC4He
qPPZtAKoonmd86k8jbrSbNZ/4OBelbYO0pmED90xyFRLlzLr/99ZcBtilQ33MNAh
...
SvhOFcCPizxFeuuJGYQhNlxVBWPj1Jl6ni6rBoHmbBhZCPCnhmenlBPVJcnUczyy
zrrvVLniH+UTjreQkhbFVqLPnL44+LIo30/oQJPISLxMYmZnuwudPN6O6ubyb8MK
-----END OPENSSH PRIVATE KEY-----
:bulb: Tip : It is recommanded to use GitHub Actions Secrets to store sensible informations like SSH Keys
deploy_branch
Optional. The branch to be deployed when pushing to Dokku (default to master
). Useful when a custom deploy branch is set on Dokku.
Example : develop
This action is particularly useful when triggered by new pushes :
name: 'Deploy to my Dokku instance'
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Cancel Previous Runs # Optional step
uses: styfle/cancel-workflow-action@0.4.0
with:
access_token: ${{ github.token }}
- name: Cloning repo # This step is required
uses: actions/checkout@v2
with:
fetch-depth: 0 # This is required or you might get an error from Dokku
- name: Push to dokku
uses: obrassard/action-dokku-deploy@v1.0.2
with:
dokku_repo: 'ssh://dokku@dokku.myhost.ca:22/appname'
ssh_key: ${{ secrets.SSH_KEY }}
deploy_branch: 'develop'