git pull with Github Actions

Easy deployment

git
github
Author

Nick Twort

Published

26 Sep 2023

If you want a remote server to git pull changes to your Github repo, add this workflow (and the relevant secrets) to the repo:

on:
  push:
    branches:
      - main
  workflow_dispatch:
  
jobs:
  run_pull:
    name: run pull
    runs-on: ubuntu-latest
    
    steps:
    - name: install ssh keys
      run: |
        install -m 600 -D /dev/null ~/.ssh/id_rsa
        echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
        ssh-keyscan -H ${{ secrets.SSH_HOST }} > ~/.ssh/known_hosts
    - name: connect and pull
      run: ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "cd ${{ secrets.WORK_DIR }} && git checkout ${{ secrets.MAIN_BRANCH }} && git pull && quarto render && exit"
    - name: cleanup
      run: rm -rf ~/.ssh

This website uses this exact Github action!