小编max*_*igs的帖子

如何跨两个服务器同步Git存储库

我正在寻找一种在(2)服务器之间自动同步Git存储库的方法,以便它们可以从第三点进行互换.

情况如下:我们对所有项目大量使用git,并且一些存储库的大小增长很快.目前我们有一个中央服务器,每个人都在推/拉这个/从这个.然而,这一切都通过互联网连接,因此不是最快的方式.

想法:将另一台服务器放在办公室,并将所有git存储库放在那里供办公室使用.该服务器需要与在线服务器同步.用户甚至不会通过某些dns调整知道他们使用哪一个,因此当连接到那里的网络时,在线服务器存储库的地址解析为办公室内的一个.

有没有人在那里做类似的事情?或者是否有更简单的方法来完成目标.

git repository-design synchronisation

9
推荐指数
1
解决办法
3038
查看次数

Vagrant和Knife Solo(或任何其他非流浪厨师环境)最常见的工作流程?

离厨师一段时间后,我正在回到它,以满足我所有的服务器需求.几年前我已经使用它了一段时间并且喜欢它,但最近有其他人做了操作部分.

但我仍然在努力寻找一个非常好的起始设置(本地Vagrant + Chef)来配合开发.单独使用Vagrant是一件轻而易举的事情,使用起来非常简单,并且可以相当快速地开发服务器设置.但是一旦我不得不离开Vagrant进行实际部署,它就会再次变得烦人.我总是不能使用Vagrant盒子,但Rackspace甚至是某个地方的实际硬件盒子.

现在我这样做:

针对Vagrant进行开发,尝试尽可能少地在Vagrantfile中进行实际配置

  • 主要使用角色,具有我常规环境的预定义默认属性
  • 仅在Vagrantfile中指定节点特定的属性
  • 在两个步骤之间直接从VirtualBox运行带有手动快照的vagrant配置,以避免一直从头开始重建

暂存并实际部署服务器:

使用Rackspace Cloud(至少升级)与Knife Solo

  • 从Web界面创建Rackspace服务器,通过(roo @ ip with password)为所有服务器提供一致的首次配置步骤
  • 将public-key auth添加到服务器,因此不再需要pw
  • 为新服务器添加本地节点配置,复制Vagrantfile中定义的内容
  • 使用刀独奏准备+引导服务器

这已经不是那么糟糕了,但仍然有一些有时非常烦人的故障:

  • 来自VirtualBox for Vagrant的手动快照(我还没有找到任何有效的插件)
  • 节点配置和Vagrantfile之间的冗余(可能让Vagrantfile解析节点配置并使用那种方式的值)
  • Vagrant和Knife Solo之间的不一致引导(如果我弄清楚如何将它添加到Vagrant(*1),可能会使用两者的通用脚本)

除此之外,我不得不遗憾地发现,厨师食谱已广泛发展成为一个不相容和自以为是的文物的丛林.有时甚至很难通过默认配方工作来获得基本设置.我很惊讶很多基础知识几乎没有涉及:

让sshd + iptables的组合工作花了我一天的研究,然后仍然修改默认模板让它工作 - 而我期望它几乎是任何服务器的起点.此外,似乎没有任何默认的厨师 - 用户工作流程.到目前为止我发现的所有内容都以root身份运行或需要进行相当多的修改.最后但并非最不重要的是,厨师(在ubuntu 12.04上)仍然使用ruby 1.8.7,它在短短几个月内即将达到终点.

可能是因为我没有找到合适的资源来涵盖我目前仍在努力或满意的所有要点,但似乎还有很多方法可以改进它.

那么,流浪汉+厨师如何在真实环境中工作(除了本地虚拟盒子之外)对你有用,还有哪些陷阱需要注意?

似乎它开始疯狂地通过本地流动的所有自动引导,但是一旦你超越了那些东西变得非常混乱.如果人们也使用这样的设置可以给我一些如何解决上述问题的指示,我会很高兴.我不介意付出一些努力让它全部按照我的预期运行,但也许我已经走错了部分,只是让自己更难以实际需要;)

目前简短的总结是:Vagrand + ChefSolo(KnifeSolo)非常棒,但为了正常工作,整个引导部分需要我们在应用烹饪书之前使用自定义的部分来获得适当的系统基础 - 这些都需要谨慎从丛林中挑选出来.

Progess/Update Notes

(*1):只是想出来,纯粹靠运气给它一个镜头,显然可以在一个Vagrantfile中添加多个提供机制:

config.vm.provision :shell, path: 'bootstrap.ubuntu-12.04.2-server-amd64.sh'
  config.vm.provision :chef_solo do |chef|
    ...
  end
Run Code Online (Sandbox Code Playgroud)

由于首先执行shell,我可以将它用作Vagrant服务器的自定义预处理,同时仍然使用Chef-Solo进行实际安装.好极了.仍然需要看看它最终会有多大用处,但现在有一点缺失的步骤可以让流程保持一致.

chef-infra vagrant knife chef-solo

8
推荐指数
1
解决办法
1849
查看次数

Rabbitmq的交换数量有限制吗?

在文档或Google上都找不到与此有关的任何内容,只是它应该绑定到服务器的可用资源上。

是否有人在工作环境中有一次真正大量交流的经验?仅创建交换不是问题(仅在达到内存限制之前),而是要在具有高消息吞吐量且主要是动态交换创建/删除的工作项目中使用它。

rabbitmq rabbitmq-exchange

3
推荐指数
1
解决办法
5544
查看次数

我如何用上帝监控独立的应用程序?

我目前正在研究Rails/Ruby项目的过程监控选项,并且非常像上帝.

但我真的找不到任何关于如何监控多个应用程序(例如在一台机器上运行的2个rails项目)与上帝.

据我所知,我只是设置了神(系统红宝石)并让每个项目添加自己的配置(可能在某种程度上在deploy-hook中).这也适用于运行不同ruby版本(rbenv,rvm)或bundler的项目,因为god ruby​​不必访问任何项目代码.

有没有人像这样使用它?还是有更好的方法?

ruby god

1
推荐指数
1
解决办法
1035
查看次数