-1

I had a few questions about automatic git pulls on a remote server. I am aware there are several questions like this, but I wasn't sure what steps to take exactly, and I don't want to mess up my current setup with a mistake :/

To wit, the environment is on a Google Cloud VM. I am running a flask-based website that renders each page with the render_template() function.

The website resides inside its git folder, i.e. I never set up a bare repo and copied stuff. When I set it up a couple years ago, I just did git clone repo-url, then inside the repo directory, did flask run. Then I set up nginx to connect to the site's socket created with uwsgi inside the repo directory.

--

It has been working fine. I make changes locally to the content, push to github, then log in to the VM, and perform a git pull.

I want to do this automatically. I tried adding a cron job to do this, where the job basically ran a script, and the script did the git pull. Script content was:

cd /repo
git pull

Running the script in the server worked, but cron never managed to do the pull.

--

I have been reading about web hooks, and there is a bunch of stuff about post-receive hooks, post-update hooks, and making bare repos. At this point, I am embarrassed to say I have no idea what I should be doing.

Any help is greatly appreciated.

asuprem
  • 554
  • 1
  • 5
  • 17

1 Answers1

1

Another option would be to consider a GitHub Action, which, from GitHub, could interract with your Google cloud VM.

For example, actions-hub/gcloud.

- uses: actions-hub/gcloud@master
  env:
    PROJECT_ID: test
    APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
  with:
    args: cp your-file.txt gs://your-bucket/
    cli: gsutil
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250