你用什么来部署Web应用程序? [英] What do you use to deploy your Web Applications?

查看:99
本文介绍了你用什么来部署Web应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在寻找我们的自动化的Web应用程序,从地方发展特别是要在远程服务器时,部署

We're looking to automate our deployment of Web Applications, particularly when going from local development to a remote server.

我们的当前堆栈是LAMP远程,本地MAMP,但我感兴趣的是一般的人都在使用这个任务无论他们的环境是什么?

Our current stack is LAMP remotely, MAMP locally, but I'm interested in general what people are using for this task regardless of their environment?

我不只是在谈论移动文件,我也意味着考虑其他任务,例如:

I'm not just talking about moving files around, I also meant considering other tasks such as:


  • 设置数据库模式

  • 管理配置

  • 部署所需
  • 其它任务(创建日志文件等)

推荐答案

一个在previous公司被使用过的东西 - 不管你信不信 - RPM文件。当我们建立了我们的软件,它的所有的各个部分将被打包成RPM文件,然后将其部署到服务器。

One of the things used in a previous company was - believe it or not - RPM files. When we built our software, all the various parts of it would be packaged into RPM files, which were then deployed to the server.


  1. 在集群主服务器拥有所有服务器及其角色的列表,这将被用来确定哪些软件包需要每个服务器。

  2. 部署阶段会检查每个服务器上的版本,并确定哪些服务器需要升级。每个服务器将得到它所需要,
  3. 任何新包的副本
  4. 每个服务器将被部署脚本,这会处理pre-安装和安装后的检查和安装任务的包。

  5. 部署脚本会触发一个独立的过程中,配置管理系统,读取配置模板来生成一个服务器所需要的任何服务配置文件(根据其角色列表上),和农场那些到服务器

  6. 部署系统将产生的,需要采取的行动清单(重新启动服务),为每个系统,和present那些经营管理更新。然后操作员或者进行重新启动(如果更新客户端的定期维护窗口期间发生,或者我们有一个工作订单月中旬的一天服务重新启动),或者创建了一夜的工作人员一票交任务的一个列表来完成。

  1. Master servers in a cluster had a list of all servers and their roles, which would be used to determine what packages each server needed.
  2. The deploy phase would check versions on each server and determine which servers needed upgrades. Each server would get a copy of any new packages it needed,
  3. Each server would have its packages installed by the deploy script, which would manage pre-installation and post-installation checks and tasks.
  4. The deploy script would trigger a separate process, the configuration management system, to read the configuration templates to generate configuration files for any services a server needed (based on its list of roles), and farm those out to the servers
  5. The deploy system would generate a list of actions that needed to be taken (services to be restarted) for each system, and present those to the operator managing the update. The operator would then either perform the restarts (if the update was occurring during the client's scheduled maintenance window, or we had a work-order for mid-day service restarts), or create a ticket for the night staff with a list of tasks to be done.

RPM是一个可怕的黑客,但我们的客户都运行Red Hat Linux(我们要求),这非常有意义。如果我有一个选择,我会用如Debian或Ubuntu系统去,建立一个资料库,该系统可以全部由拉。尽管如此,它的工作以及为数以百计的客户,拥有数千台服务器共有。 pretty整洁。

RPM is a horrific hack, but as our clients were all running Red Hat Linux (by our requirement), it made perfect sense. If I had a choice, I'd go with a system like Debian or Ubuntu, and set up a repository that the systems could all pull from. Still, it worked well for hundreds of clients, with thousands of servers total. Pretty neat.

这篇关于你用什么来部署Web应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆