通过工作流从Github自动推送到Dreamhost



最近将我的网站从netflix转移到Dreamhost,以便托管一个动态网站。我想念的一件事是,当我的repo中检测到更改时,可以自动从Github部署到托管服务。

我已经找到了从我的Dreamhost服务器推送到Github的教程,但不是其他方式。我有很多人在这个网站上工作,我希望通过Github来完成这个中心,而不是通过命令行手动推送到Github和Dreamhost服务器。

我的假设是ssh到Dreamhost,我需要一个公钥从我的客户端存储在Dreamhost服务器上。我不知道是否可以从Github(与工作流相关)生成公钥,但如果是我该如何做呢?另一个选择是存储ssh凭证与Github的repo秘密连接,但我觉得这不是最佳实践。

我该如何去推动我的Github仓库到我的Dreamhost服务器后自动更改为主?

两个不同的gist建议相同的方法。

  • 在DreamHost服务器上创建一个裸仓库
  • push to it
  • 有一个post-receive钩子在实际站点部署的目标文件夹(在同一台服务器上)执行git恢复。

请参阅"如何将Git Push到服务器机器,而不必每次都ssh到该机器上?">

你的GitHub Action剩下的是,正如在GitHub Action中通过SSH和Rsync部署到服务器中所描述的那样,使用专用的SSH密钥,其私钥注册在GitHub secrets中。