繁体   English   中英

如何使用git部署以测试服务器?

[英]How can I use git to deploy to test server?

几年前,我曾使用过redhat的开放式班次。 更新服务器的方法是通过推送到git repo。 推送更改后,您可以在浏览器中测试您的应用。

我想在我的一个虚拟机中实施该测试。 这样,每当我推送到仓库时,测试人员就可以立即看到我的更改。 我正在云VM中进行测试,因为要进行测试的人员在另一个国家。 我正在使用nginx,pm2,nodejs和express。

我了解我可以SSH到服务器,进行更改,重新启动pm2。 但是,如果有一种更自动化的方法,那会更好。

您所描述的称为连续集成/连续部署,通常称为CI / CD。 有专门为此目的设计的工具。 两个主要参与者是jetbrains的TeamCity(根据您描述的项目大小免费使用)和Jenkins(开源)。 我建议您搜索使用这两种产品之一的CI / CD教程。

您可能想研究服务器端的git挂钩。 您可以在收到git push时在服务器上执行bash脚本,并执行更新服务器所需的一切。

简要介绍一下:

钩子可以在.git/hooks下找到。 在这里您将找到以下文件:

  • 推样前
  • commit-msg.sample
  • re-rebase.sample
  • 更新后样本
  • prepare-commit-msg.sample
  • pre-applypatch.sample
  • 更新样本
  • 提交前样本

举个例子,在服务器上,如果将以下内容添加到更新后挂钩中,则服务器将在收到提交时向您发送电子邮件:

#!/bin/bash
git show --name-status | mail -s "Received Push" youremail@email.com

在此文件中,您可能想编写脚本以使用新接收的数据重建网站!

暂无
暂无

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

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