I was researching ways to automatic deployments for blogthedata.com when I push code into main and everything I came across was super complicated. The solution I came up with was to just add a job to my existing CI workflow to SSH into my server and do a git pull
. I implemented it in this PR.
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy to Linode
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
script: |
cd blogthedata
git pull
Check out the AppleBoy Repo for the latest instructions.
Caveats
1 - If I need to perform a database migration, I still have to do that manually.