同时部署到多个服务器

时间:2016-08-07 22:03:00

标签: node.js git jenkins deployment

我有4台服务器,一台用于负载均衡(Nginx反向代理)和3台nodejs(上游服务器)。

我想将bitbucket中的代码同时部署到这3台服务器,我该如何管理呢? 我可以在每个这3台服务器上安装jenkis并部署但是有更好的解决方案吗?我可以在负载均衡器服务器上安装jenkins并从中进行部署吗?

2 个答案:

答案 0 :(得分:0)

你必须编写脚本来为你做这件事 该脚本可以是任何语言的shell脚本,也可以使用Jenkins为您执行此操作。

您不需要在每台服务器上使用Jenkins,只需要一个git脚本将其推送到您的服务器,或者您的服务器将从服务器中提取更改。

答案 1 :(得分:0)

对此最好的解决方案是选择您推送到的主存储库,然后在该服务器中安装一个挂钩,自动将所有传入的内容推送到其他服务器。

$ cat .git/hooks/post-receive
#!/bin/bash

IFS=' '
while read local_ref local_sha remote_ref remote_sha
do

  echo "$remote_ref" | egrep '^refs\/heads\/[A-Z]+-[0-9]+$' >/dev/null && {
    ref=`echo $remote_ref | sed -e 's/^refs\/heads\///'`
    echo Forwarding feature branch to other repository: $ref
    git push -q --force other_repos $ref
  }

done
相关问题