linux - 如何自动登录 Linux 服务器并在网站上运行 git fetch/pull?

标签 linux git github

这就是我想做的:

  • 我在 Linux 服务器上有一个托管网站。
  • 此网站指向 GitHub 存储库。
  • 我希望能够将更改推送到存储库,然后能够登录我的网站并单击按钮让网站提取新代码以进行 self 更新。

以下是我手动执行此操作的方法:

  • 我在 Linux 服务器上创建了一个名为 update_site 的文件
  • 我通过 ssh 登录 Linux 服务器并输入 .\update_site,该命令将转到站点目录并执行提取和 pull
  • 第一次要求我输入登录名和密码时,我输入了
  • 但自从我设置了 git config --global credential.helper store 后,它就不再询问我了

以下是我想要实现自动化的方法:

  • 我创建了一个 PHP 文件,它执行文件 update_site
  • 但是,由于 PHP 网站显然是以另一个用户身份执行代码,因此它没有我的 GitHub 凭据

这是我的问题:

  • 如何自动化该过程,以便当网站执行 update_site 文件时,我的 GitHub 登录名和密码也会被发送。不用说,我怎样才能尽可能安全地做到这一点,即不将我的 GitHub 密码以纯文本形式保存在某处?

最佳答案

实现此自动化的一种可能方法是使用cron。编辑您的 cron 记录(使用 crontab -e 命令)并添加如下行:

*/5 * * * * /path/to/update_site

上面第 5 行的意思是每 5 分钟一次

关于linux - 如何自动登录 Linux 服务器并在网站上运行 git fetch/pull?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59088034/

相关文章:

node.js - 开发流程中的 Git npm 版本管理

git clone 不工作并返回 403 http 错误

linux - 如何在atom代码编辑器中恢复已删除的文件

git - git 中存储库/分支的轻型版本

eclipse - 在Eclipse中使用EGit推送到远程Git repo时,我应该选择什么?

ruby-on-rails - Rails : Populate Heroku database with development. sqlite3 数据

linux - 将三个 echo 语句的输出通过管道传递到邮件

linux - 用于执行以下程序的 awk 或 shell 脚本

linux - 如何在 Linux 3.4 内核中禁用 cpu 内核?

git - mingw/希望每天提示更新 git?