0

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

>local
git push
ssh user@host

>remote
cd repo
git pull

我一直在使用 node 来自动更新我的代码,但这仍然很麻烦。

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

4

1 回答 1

0

Travis-ci 用于持续集成(正如其名称),而 Heroku 只是一个云平台。它们不适用于部署。

我的解决方案是在您的服务器上设置一个 git 挂钩,推送到它以触发挂钩,然后在该脚本中执行您想要的任何操作。

例如,您可以:

  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

现在您可以将服务器上的存储库添加为您的遥控器之一

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

当您的业务发展壮大时,请随意使用它们。

于 2014-08-20T02:43:25.657 回答