繁体   English   中英

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

[英]GitHub - setup auto deployment with remote server

目前,我的生产网站托管在Azure上。 我使用git并将所有提交提交到GitHub。 借助git hooks的魔力,当有人将某个分支推送到GitHub时,Azure可以从GitHub中进行提取。

如何将其复制到本地托管的自己的登台服务器上? 换句话说,我如何在GitHub上设置存储库,当我将其推送到GitHub钩子时,通过git hook发送信号,请求或具有什么功能以在本地服务器上执行自动拉取?

我知道Git并不是部署软件,但是如果我必须在本地服务器上编写一种机制来实现这一目标,我想知道从哪里开始。 如果有帮助,我们将使用Microsoft技术,因此在Windows Server上运行登台服务器,而生产在Azure上运行。

我知道我需要在服务器上使用回调URL来执行所需的任何操作。我想知道人们使用了哪些方法来实现此目的。 例如:在我的回叫网址上,我将如何调用脚本来运行pull / fetch / clone bash命令。 或其他方法。

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

根据我的评论,

  1. 您需要在端定义/创建一个回调URL ,该URL必须是可公开访问的。

  2. 每当推送到相关分支时, github都会通过git hook对该URL进行命中。

  3. 如果需要,您可以在挂钩中添加对命中的身份验证。

  4. 该调用将通知您的服务器已推送到github上的某个分支。

  5. 现在,您的服务器应该启动执行拉/克隆的部署任务。

关于此部署任务,有许多方法可以执行此操作,而更详细的信息将根据您的操作方式而有所不同。

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

另一种方法是执行一个简单的bash脚本,它执行cd $REPO_DIR && git pull origin branchname && service apache2 etc restart

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM