自动安排 git 拉取 GCP 服务器 运行 一个烧瓶网站

Automatic scheduled git pulls on a GCP server running a flask website

我有几个关于在远程服务器上自动 git 拉取的问题。我知道有几个这样的问题,但我不确定具体要采取什么步骤,我不想因为错误而弄乱我当前的设置:/

也就是说,环境在 Google 云虚拟机上。我是 运行 一个基于 flask 的网站,它使用 render_template() 函数呈现每个页面。

该网站位于其 git 文件夹中,即我从未设置过裸仓库和复制内容。当我几年前设置它时,我只是做了 git clone repo-url,然后在 repo 目录中,做了 flask run。然后我设置 nginx 以连接到在 repo 目录中使用 uwsgi 创建的站点套接字。

--

它一直运行良好。我在本地对内容进行更改,推送到 github,然后登录到 VM,并执行 git pull.

我想自动执行此操作。我尝试添加一个 cron 作业来执行此操作,该作业基本上是 运行 一个脚本,而该脚本执行 git 拉取。脚本内容为:

cd /repo
git pull

运行 服务器中的脚本可以正常工作,但 cron 从未设法完成拉动。

--

我一直在阅读有关网络挂钩的内容,并且有很多关于 , 的内容,并且正在制作裸仓库。在这一点上,我很尴尬地说我不知道​​我应该做什么。

非常感谢任何帮助。

另一种选择是考虑 GitHub 操作,从 GitHub 开始,它可以与您的 Google 云 VM 交互。

例如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