最近将我的网站托管从 Netlify 过渡到 Dreamhost,以便托管动态网站。我怀念的一件事是,当我的存储库中检测到更改时,能够自动从 Github 部署到托管服务。
我找到了从 Dreamhost 服务器推送到 Github 的教程,但反之则不然。我有多个人在这个网站上工作,我希望通过 Github 集中完成此操作,而不是通过命令行手动推送到 Github 和 Dreamhost 服务器。
我的假设是,要通过 ssh 连接到 Dreamhost,我需要客户端提供一个公钥来存储在 Dreamhost 服务器上。我不知道是否可以从 Github 生成公钥(与工作流程相关),但如果是的话我会怎么做?另一种选择是使用 Github 存储库 secret 存储 ssh 凭据以进行连接,但我认为这不是最佳实践。
在更改 main 后,如何将我的 Github 存储库自动推送到我的 Dreamhost 服务器?
最佳答案
- 在 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/