如何在linux服务器上的github上自动部署节点repo?

时间:2014-08-19 15:40:22

标签: github ssh continuous-integration forever autodeploy

我有一个linux服务器作为我的生产环境,我的节点repo在github上。 当我推送我的代码时,如果我想部署它,我需要。

>local
git push
ssh user@host

>remote
cd repo
git pull

我永远使用节点来自动更新我的代码,但它仍然非常麻烦。

是否有任何解决方案,如travis-ciheroku,可以在github上自动部署我的代码吗?

1 个答案:

答案 0 :(得分:0)

Travis-ci用于持续整合(正如其名称) 虽然Heroku只是一个云平台。 它们不用于部署。

我的解决方案是在你的服务器上设置一个git hook,推送它来触发钩子,并在那个脚本中做你想做的任何事情。

例如,你可以:

  1. cd~ / repo&& mkdir myproj&& cd myproj
  2. git init --bare
  3. 编辑〜/ repo / myproj / hooks / post-update

    #!/bin/sh
    unset GIT_DIR;
    cd <your project-root>
    export NODE_ENV="product"
    git pull
    npm install
    pm2 restart <your app name>
    
  4. chmod + x~ / repo / myproj / hooks / post-update

  5. 现在您可以将服务器上的repo添加为其中一个遥控器

    有一些服务可用于监控您的部署,例如http://dploy.io/https://www.codeship.io/

    随着业务的增长,随意使用它们。