我想把我的所有网站都移到GitHub,以获得所有明显的好处.我不是命令行的忠实粉丝,所以我喜欢GitHub,因为它让我可以避免触及所有这些.在GitHub上设置存储库,然后将其与我的计算机同步很容易.我需要能够自动从GitHub推送到网络服务器,所以当我在本地更新主分支,与GitHub同步时,它会在网站上运行.从谷歌搜索主题似乎大多数技术要么需要命令行或看起来相当复杂.我想用大约15-20个站点(其中许多站点托管在来自不同客户端的不同服务器上)执行此操作.我想找到一个在我的技能范围内的选项,每个站点不需要2-3个小时.有人知道最好,最简单的设置方法吗?
每当推送存储库时,每个GitHub存储库都可以选择与Web服务器通信.
这意味着您的网站必须有一个进程监听GitHub在收到提交时发送的JSON消息.
你可以看到这些监听器的多个例子,比如这个webhook-deployer,带有auto.php(对于php服务器):
<?php
// Prevent accidental XSS
header("Content-type: text/plain");
// Run the script
if ( $_POST['payload'] ) {
shell_exec("./pull.sh");
}
Run Code Online (Sandbox Code Playgroud)
GitHub项目建议使用没有密码的SSH密钥,我首先同意(测试它).
但是,特别是对于私有项目,最好运行ssh-agent并管理受保护的ssh密钥密码.
正如janos 评论:
- 如果GitHub存储库是公共的,那么他甚至不需要一个.
- 如果回购是私有的,那么他需要它,但不应该这么做.如果可能,他应该使用密钥代理.
如果这太复杂了,那么他就可以使用专用的SSH密钥而不使用密码来进行此部署,并且该密钥永远不会离开部署PC.
归档时间: |
|
查看次数: |
18633 次 |
最近记录: |