如何在git推送(GitHub和node.js)之后自动部署我的应用程序?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (46)

我在VPS(Linux)上部署了我的应用程序(node.js)。我正在使用git集线器作为存储库。如何在git推送上自动部署应用程序?

提问于
用户回答回答于

有几次提到Git钩子作为回答/评论,这在过去对我有用。

在你的存储库中:sudo vi hooks/post-receive

看起来应该是:

#!/bin/sh
GIT_WORK_TREE=/home/path/to/your/www
export GIT_WORK_TREE
git checkout -f

设置文件权限:chmod +x hooks/post-receive

git将刷新您的应用程序目录中的文件后,推到回购。

运行节点与节点-主管

需要将Node-Supervisor作为全局节点模块安装在计算机上:sudo npm install supervisor -g

现在,只需使用节点管理器运行节点应用程序,它将监视工作目录中文件的更改:

supervisor /home/path/to/your/www/server.js(注supervisor而不是node)。

用户回答回答于

PHP中的示例:

导航到GitHub到您的GitHub存储库中添加单击“Admin”

单击“ServiceHooks”=>“WebHook URL”选项卡

加上

http://your-domain-name/git_test.php

然后创建git_test.php

<?php 
try
{
  $payload = json_decode($_REQUEST['payload']);
}
catch(Exception $e)
{
  exit(0);
}

//log the request
file_put_contents('logs/github.txt', print_r($payload, TRUE), FILE_APPEND);


if ($payload->ref === 'refs/heads/master')
{
  // path to your site deployment script
  exec('./build.sh');
}

在build.sh中,将需要放置常规命令从GitHub检索站点.

扫码关注云+社区