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

标签 github ssh github-actions web-deployment dreamhost

最近将我的网站托管从 Netlify 过渡到 Dreamhost,以便托管动态网站。我怀念的一件事是,当我的存储库中检测到更改时,能够自动从 Github 部署到托管服务。

我找到了从 Dreamhost 服务器推送到 Github 的教程,但反之则不然。我有多个人在这个网站上工作,我希望通过 Github 集中完成此操作,而不是通过命令行手动推送到 Github 和 Dreamhost 服务器。

我的假设是,要通过 ssh 连接到 Dreamhost,我需要客户端提供一个公钥来存储在 Dreamhost 服务器上。我不知道是否可以从 Github 生成公钥(与工作流程相关),但如果是的话我会怎么做?另一种选择是使用 Github 存储库 secret 存储 ssh 凭据以进行连接,但我认为这不是最佳实践。

在更改 main 后,如何将我的 Github 存储库自动推送到我的 Dreamhost 服务器?

最佳答案

两个 different gists建议采用相同的方法。

  • 在 DreamHost 服务器上创建一个裸存储库
  • 插入它
  • 有一个接收后钩子(Hook)在部署实际站点的目标文件夹(在同一服务器上)中执行 git 恢复

参见“How to Git Push to a Server Machine without having to ssh on to that machine every time?

您的 GitHub Action 剩下的内容是,如 Deploying to a server via SSH and Rsync in a Github Action 中所述。 ,使用专用的 SSH key ,其私钥已在 GitHub secret 中注册。

关于github - 通过工作流程自动从 Github 推送到 Dreamhost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72690202/

相关文章:

maven - GitHub 包 : Single Maven repository for GitHub organization

node.js - GitHub 检测到依赖项中的漏洞,但我运行了 npm update 并且依赖项没有更新?

firebase - 如何在 GitHub 操作中将工作目录添加到部署

java - 我可以使用 Jsch 来伪造与本地主机的 ssh 连接吗?

github-actions - 在GitHub缓存操作中使用restore-keys字段的逻辑是什么?

github-actions - 如何在 Github Actions 中查看已取消步骤的日志?

github - 如何从具有多个分支的单个 github 存储库部署到多个 AppHarbor 实例

Github 文件大小限制已于 2013 年 6 月 18 日更改。现在不能推

java - 停止在 ssh 中运行的 java 文件

python - 通过 python (paramiko) 的 SSH 错误 : "' _EllipticCurvePublicKey' object has no attribute 'verify' "