Articles of 部署

Linux系统configurationpipe理:版本控制和部署

我正在寻找最好的方法(用于我的目的和情况)来对系统configuration文件进行版本pipe理,并且在两台机器(活动和备份,都应该被视为'生产')之间pipe理部署(所有权和模式)。 我希望能够使用此系统自动(但有select地)复制和pipe理备份机器(EC2实例)上的相关和指定的configuration。 目前,这些机器主要是networking和SMTP服务器(我们不存储用户邮箱),但是我们的项目正在增长,谁知道未来的需求可能会是什么。 例如,我们有可能在未来某个时候实施无线电和基于networking的聊天。 我更喜欢按照惯例pipe理服务器(即根据需要进入并对现场服务器进行更改),然后将这些更改(一旦安置)存储在pipe理系统中。 (好吧,如果我是诚实的,我应该有机地说:我不想失去灵活性来做需求和情况需求的东西。)我find了这种方法,而不是部署在其他地方进行调整和testing的configuration,更具可预测性,而且可能会带来更less的惊喜(除了在现场系统上搞乱configuration的可能性之外,就是!) 我从哲学的angular度认识到,这是回到前面,如果我有资源(testing基础,更重要的是人力),我可能会反过来做。 事实上,我必须要做我所做的。 我非常喜欢结构,但是过多的基础设施本身就是一种生活,在某种程度上它的价值已经丧失。 我已经做了一些家庭作业,并回顾了几个选项,但他们都没有真正做我想要他们,所以我目前试图推出我自己的解决scheme。 这个问题的目的是为了看看我没有想到的,并在我吠错了树之前进行理智检查。 选项 像Puppet这样的声明性元configuration系统可能是很好的select,因为许多服务器在这些服务器之间很less或根本没有区别,特别是在提前清楚configuration应该是什么样的情况下。 我不认为在没有基础架构的情况下使用这样的工具是明智的。 这也有点沉重,过于复杂。 我是唯一的pipe理者,我在业余时间做这个事情,如果我留下来的事情发生在我身上,对于那个走在我身后的幸运男人/女孩,我们应该是合理的。 etckeeper可能会这样做,但据我所知,它并不适用于除/ etc以外的任何其他pipe理。 也就是说,它不适合存储自定义脚本,这些自定义脚本通常位于/ usr / local / bin中。 此外,etckeeper大概pipe理所有 / etc,我认为我宁愿只版本特定的东西(如后缀,Apache,fail2ban,SSH和可能munin)。 一个简单的git或svn回购肯定不会,因为当git跟踪权限时,它不会跟踪所有权,并且svn也不跟踪。 svn在每个被跟踪的目录中保存一个.svn子目录,而.git仅存在于工作副本的根目录中。 这两种情况都有好处和坏处。 在某些地方存在一个.svn目录可能在某些地方是可以的(例如/ etc / apache2 / sites-enabled),但在其他地方打乱了大脑死亡的脚本/工具。 (我确定我读了一些东西:cron是否可以在/etc/cron.d中使用.svn目录,但是depmod不是使用/ lib / modules?) 另一方面,在/ .git中,git认为所有的事情都是跟踪的候选者,甚至(大概)其他git回购! 定制解决scheme 这是我打算做的:在主机上存储的一个颠覆回购(比如/ usr / local / sc-repo)和一个用Pysvn写的pipe理脚本,它实现了以下function: 添加(但默认情况下,不recursion),将文件的模式和owership存储为自定义属性。 另外,我喜欢在我的configuration文件$Id$标签,所以这将确保svn:keywords设置正确。 承诺 更新,写入文件后应用所有权和模式 还原,同上 烫发,像差异,但所有权和模式,修复标志如果需要更正。 […]

GPO:部署软件

我用3台机器(2个Win7,1个Win8)build立了一个实验室,主机是Win2008R2作为DC(安装了ADUC等)。 我创build了一个软件包GPO并将其链接到我的域: 这是我遇到的问题,我不能让部署工作。 我创build了一个“本地”networking共享,并允许所有机器访问.MSI所在的位置: 我已经login到每个虚拟机并运行gpupdate /force多次,但Firefox仍然不会部署。 它被部署到我的主机(Win2008R2)后,我偶然重新启动,这有点奇怪,我觉得。 有任何想法吗? 谢谢

如何检查nginx的configuration,但没有复制新的configuration文件到nginx目录?

我有部署脚本,副本包括新的nginxconfiguration文件。 我需要在部署新的应用程序版本之前使用nginx -t来检查nginxconfiguration。 是否有可能检查特定文件的nginxconfiguration? /usr/nginx/sbin/nginx -t -c /var/www/application/vhost.conf

免费的自动部署系统?

是否有免费的系统在Windowsnetworking上部署新的应用程序? 例如,如果我想自动安装Silverlight到每台PC? (假设一个约150台机器的Windowsnetworking)

用于Windows系统部署映像的DriverPacks的替代品?

我设法使用sysprep准备Windows 7 Professional映像,以便部署到各种各样的硬件,到目前为止,它工作得很好。 它目前安装驱动程序后部署与DriverPacks.net发布的驱动程序包结合该网站的独立Driverpack实用程序 (我也试过他们的Snappy驱动程序安装程序也可以)部署后的第一次启动。 我对这个设置没问题,除了那个网站的驱动包往往是两三年的,我宁愿有一套更新的驱动程序。 有没有类似于DriverPacks的另一种解决scheme,允许在第一次启动时检测和安装驱动程序? 也许甚至包含其他与上面提到的DriverPacks工具一起使用的包? 谢谢! PS我们已经考虑过微软部署工具包,但是发现它对于我们这个相对较小的组织来说太费时和复杂了。

部署registry更改

部署HKCUregistry的最佳方法是, 任何login到计算机的人都可以进行部署。 有人向我提到主动安装…但我不确定。

最佳服务器幽灵般的工具为Windows

我正在寻找我们应该用克隆服务器的工具。 在短期内,我们将克隆相同的硬件,但从长远来看,我们可能想创build一个映像,并在不同类别的机器上复制该映像。 例如,随着新的服务器从戴尔发布,我们将继续使用我们已经制作的相同的图像。 现在我们的服务器是Windows(Server 2008&Server 2008 R2),但是我们也可能需要Linux支持。 鬼解决scheme套件2.5似乎是规范的工具。 有替代品吗? build议/评论?

如何轻松pipe理Ubuntu的5 – 12电脑?

我被要求提供一个小型企业,其基础设施类似于您在大型企业中以最低价格(即我的服务,就是这样,他们不希望为任何types的许可支付)所能find的。 在做了一些关于这个主题的研究之后,我已经决定在服务器和客户端上使用Ubuntu。 说到这,这里是这个企业的需求: 某种具有Webmailfunction的电子邮件服务器(如交换和Outlook Web访问) 一个没有废话的IM解决scheme 集中的日历(当然可以和电子邮件一起使用) 所有机器的集中备份 能够轻松部署/更新ubuntu客户端(单击最好),并预先安装所有选定的应用程序。 现在,鉴于这些需求,你认为Ubuntu是一个很好的契合? 如果是这样的话,有人可以给我一个全面的教程,我可以遵循吗? 我有基本的networking知识,很好的命令行技能。 但是GUI会是最好的。 这将是一个人的工作。 提前致谢。

如何使用多核,反向代理和SSL在云中部署Node.js以实现高可用性

我已经发布到ServerFault,但Node.js社区似乎很小,所以我希望这会带来更多的曝光。 我有一个Node.js(0.4.9)应用程序,正在研究如何最好地部署和维护它。 我想在高可用性的云(EC2或RackSpace)中运行它。 该应用程序应该运行在HTTPS上。 稍后我会担心东/西/欧全面故障切换。 我对Keep-alive(Upstart,Forever),多核实用程序(赋格,多节点,集群)和代理/负载均衡器(node-http-proxy,nginx,Varnish和Pound)做了大量的阅读, 。 但是,我不确定如何结合我可用的各种实用程序。 我有这样的设置,需要解决一些问题,并得到反馈。 集群是Node.js最活跃,最受欢迎的多核实用程序,因此可以使用它在非特权端口(比如3000)上为每个应用程序服务器运行1个节点“集群”。 问题1: 永远应该用来保持群集活着还是只是多余的? 在端口80上运行每个应用服务器使用1个nginx ,简单地反向代理到端口3000上的节点。Q2 : node-http-proxy是否更适合于这个任务,即使它不能快速地gzip或服务器静态文件? 如上所述,具有最低2台服务器,独立服务器充当这些盒子上的负载平衡器。 使用Pound监听443来终止HTTPS并将HTTP传递给Varnish ,这将在上面的服务器的IP之间循环负载均衡。 Q3: nginx应该用来做两个呢? Q4:应该考虑AWS还是RackSpace负载均衡器(后者不会终止HTTPS) 一般的问题: 你有没有看到上面(2)的需要? 终止HTTPS的最佳地点在哪里? 如果将来需要WebSocket ,你会做什么nginxreplace? 你如何处理外部负载平衡器的单点故障? 我真的很想听听人们如何设置当前的生产环境以及他们喜欢的工具组合。 非常感激。

Fabric可以用于从GitHub自动部署吗?

每次将代码推送到GitHub时,我可以使用Fabric自动在服务器上部署应用程序吗? (GitHub可以在每次推送时都发送到URL。) 如果是这样,怎么样?