GitHub-使用远程服务器设置自动部署

GitHub-使用远程服务器设置自动部署,git,azure,github,Git,Azure,Github,目前,我的制作网站托管在Azure上。我使用git并将所有提交推送到GitHub。有了GitHooks的魔力,Azure能够在有人将某个分支推到GitHub时从GitHub中拉出 我如何用我自己的驻留在本地的暂存服务器复制它?换句话说,我如何在GitHub上设置回购协议,当我推到它时,通过git钩子发送信号、请求或其他什么,以便在我的本地服务器上执行自动拉取 我知道Git不是一个部署软件,但如果我必须在我的on-prmise服务器上编写一个机制来实现这一点,我想知道从哪里开始。如果有用的话,我们

目前,我的制作网站托管在Azure上。我使用git并将所有提交推送到GitHub。有了GitHooks的魔力,Azure能够在有人将某个分支推到GitHub时从GitHub中拉出

我如何用我自己的驻留在本地的暂存服务器复制它?换句话说,我如何在GitHub上设置回购协议,当我推到它时,通过git钩子发送信号、请求或其他什么,以便在我的本地服务器上执行自动拉取

我知道Git不是一个部署软件,但如果我必须在我的on-prmise服务器上编写一个机制来实现这一点,我想知道从哪里开始。如果有用的话,我们使用Microsoft技术,所以我们在Windows server上运行登台服务器,而我们的生产在Azure上

我知道我需要在我的服务器上使用回调url来执行任何需要的操作。我想知道人们使用什么方法来实现这一点。e、 g:在我的回调url上,我将如何调用脚本来运行pull/fetch/clone bash命令。或其他方法


如果您需要更多信息,请随时询问。

根据我的评论进行扩展

  • 您需要在您的终端上定义/创建一个 将需要公开访问

  • github
    会通过
    git钩子
    在任何时候 向有问题的分支机构推进

  • 如果需要,可以为钩子中的命中添加身份验证

  • 此呼叫将通知您的服务器已向 github上的某个分支

  • 现在,您的服务器应该启动一个执行以下操作的部署任务: 拉/克隆

  • 关于这个部署任务,有很多方法可以做到这一点,更精细的细节将根据您的操作方式而有所不同

    一种方法是在堆栈中引入一个连续集成工具,您也可以将其用于不同环境中的常规构建和测试构建


    另一种方法是执行一个简单的bash脚本,它执行
    cd$REPO\u DIR&&git pull origin branchname&&service apache2等重新启动

    ,用最简单的术语来说,您需要定义/创建一个回调url,github将通过
    git钩子
    命中该url。此调用将通知服务器已向github上的某个分支进行推送。现在,理想情况下,您的服务器应该启动一个任务,为您执行pull/fetch/clone并部署它。@mu無 谢谢你的快速回复。是的,我就是这么想的。我想我应该详细说明我的问题,包括我的服务器可以使用哪些类型的方法来拉/取/克隆,因为这是我最不熟悉的。我是否可以编写一个具有足够权限的脚本,以便在
    gitbash
    上运行命令?或者还有其他方法吗?谢谢令人惊叹的!我听说过詹金斯,但在探索之前,我希望能有一些更简单的东西,而不需要太多的其他软件安装或服务成本。我喜欢你提到的简单bash脚本!我必须查看如何启动它。我不使用
    apache
    ,但是
    服务apache2 etc重新启动的目的是什么。只是好奇而已@RoLYroLLs如果这是一个webapp,apache将继续使用较旧的代码副本运行,而无需重新启动(因为进程将从较旧的代码副本派生)。像Jenkins这样的构建工具(在LinuxEnv中)1。创建版本2的新签出。运行任何其他自定义配置命令3。创建指向此版本的软链接作为当前版本4。为您重新启动web服务器。很酷,谢谢!终有一天可能会遇到这种情况。我会记住的。再次感谢