我有4台服务器,一台用于负载均衡(Nginx反向代理)和3台nodejs(上游服务器)。
我想将bitbucket中的代码同时部署到这3台服务器,我该如何管理呢? 我可以在每个这3台服务器上安装jenkis并部署但是有更好的解决方案吗?我可以在负载均衡器服务器上安装jenkins并从中进行部署吗?
答案 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