GitHub - 使用远程服务器设置自动部署
GitHub - setup auto deployment with remote server
目前,我的生产网站托管在 Azure 上。我使用 git 并将所有提交推送到 GitHub。凭借 git hooks
的魔力,当有人将某个分支推送到 GitHub 时,Azure 能够从 GitHub 拉取。
如何使用我自己的本地托管临时服务器复制它?换句话说,我如何在 GitHub 上设置一个 repo,当我推送到它时,通过 git 挂钩发送一个信号、请求或你有什么来执行对我的自动拉取本地服务器?
我知道 Git 不是部署软件,但如果我必须在我的本地服务器上编写一种机制来实现这一点,我想知道从哪里开始。如果有帮助,我们会使用 Microsoft 技术,因此我们 运行 在 Windows 服务器上部署我们的暂存服务器,而我们的产品在 Azure 上。
我知道我需要在我的服务器上使用回调 url 来执行任何 needed.I 想知道人们使用什么方法来完成这个。例如:在我的回电 url 中,我如何将脚本调用到 运行 pull/fetch/clone bash 命令。或其他方法。
如果您需要更多信息,请随时询问。
扩展我的评论,
你需要 define/create 一个 callback url
将需要公开访问。
github
会通过 git hook
命中这个 url
推送到有问题的分支。
如果需要,您可以为挂钩中的命中添加身份验证。
此调用将通知您的服务器已向
github.
上的某个分支
现在您的服务器应该开始执行部署任务
pull/clone.
关于这个部署任务,有很多种方法可以做到,具体细节会因你如何做而有所不同。
一种方法是在您的技术栈中引入像 Jenkins 这样的持续集成工具,您也可以将其用于不同环境中的常规构建和测试构建。
另一种方法是执行一个简单的 bash 脚本,该脚本执行 cd $REPO_DIR && git pull origin branchname && service apache2 etc restart
.
目前,我的生产网站托管在 Azure 上。我使用 git 并将所有提交推送到 GitHub。凭借 git hooks
的魔力,当有人将某个分支推送到 GitHub 时,Azure 能够从 GitHub 拉取。
如何使用我自己的本地托管临时服务器复制它?换句话说,我如何在 GitHub 上设置一个 repo,当我推送到它时,通过 git 挂钩发送一个信号、请求或你有什么来执行对我的自动拉取本地服务器?
我知道 Git 不是部署软件,但如果我必须在我的本地服务器上编写一种机制来实现这一点,我想知道从哪里开始。如果有帮助,我们会使用 Microsoft 技术,因此我们 运行 在 Windows 服务器上部署我们的暂存服务器,而我们的产品在 Azure 上。
我知道我需要在我的服务器上使用回调 url 来执行任何 needed.I 想知道人们使用什么方法来完成这个。例如:在我的回电 url 中,我如何将脚本调用到 运行 pull/fetch/clone bash 命令。或其他方法。
如果您需要更多信息,请随时询问。
扩展我的评论,
你需要 define/create 一个 callback url 将需要公开访问。
github
会通过git hook
命中这个 url 推送到有问题的分支。如果需要,您可以为挂钩中的命中添加身份验证。
此调用将通知您的服务器已向 github.
上的某个分支
现在您的服务器应该开始执行部署任务 pull/clone.
关于这个部署任务,有很多种方法可以做到,具体细节会因你如何做而有所不同。
一种方法是在您的技术栈中引入像 Jenkins 这样的持续集成工具,您也可以将其用于不同环境中的常规构建和测试构建。
另一种方法是执行一个简单的 bash 脚本,该脚本执行 cd $REPO_DIR && git pull origin branchname && service apache2 etc restart
.