Web applications 您使用什么来部署Web应用程序?
我们希望自动化Web应用程序的部署,特别是从本地开发到远程服务器时 我们当前的堆栈是远程LAMP,本地MAMP,但我感兴趣的是,不管环境如何,人们通常使用什么来完成此任务 我说的不仅仅是移动文件,我还想考虑其他任务,例如:Web applications 您使用什么来部署Web应用程序?,web-applications,deployment,automation,Web Applications,Deployment,Automation,我们希望自动化Web应用程序的部署,特别是从本地开发到远程服务器时 我们当前的堆栈是远程LAMP,本地MAMP,但我感兴趣的是,不管环境如何,人们通常使用什么来完成此任务 我说的不仅仅是移动文件,我还想考虑其他任务,例如: 设置数据库模式 管理配置 部署所需的杂项任务(创建日志文件等) rsync->很棒的工具 但是,答案取决于你的环境。您使用什么进行源代码管理?构建系统使用什么?等等 web服务器的部署只不过是一个“cp”命令,具体取决于更改了哪些文件。您需要构建一个流程来跟踪更改的文件,从
- 设置数据库模式
- 管理配置
- 部署所需的杂项任务(创建日志文件等)
web服务器的部署只不过是一个“cp”命令,具体取决于更改了哪些文件。您需要构建一个流程来跟踪更改的文件,从源代码管理中提取这些文件,然后推送这些更改。处理PHP文件时,如何知道要推送哪些文件?这就是问题所在。你解决了,你会没事的。cp文件和“部署”文件的工具是最简单的部分。我们在需要启动时使用“svn导出”。使我们的代码处于修订控制之下,并允许我们在测试箱或本地计算机上积极开发它。在可能的情况下,我更喜欢自动化部署,例如使用Ant,即使FTP部署也可以相当容易地处理。自动化部署,就像自动化构建一样,消除了过程中的猜测工作和错误,根据定义,至少为新程序员提供了理解过程所需的最低限度的文档(即构建脚本)。我是一个.NET的家伙,所以对我们来说,这是CruiseControl+nant
不过,我听说了很多关于他的好消息 我还没有尝试过,但我正在考虑将来使用: Fabric是一个简单的Python远程部署工具 它设计用于并行或串行地将文件上载到多个服务器,并在这些服务器上运行shell命令。这些命令分组在任务(常规python函数)中,并在“fabfile”中指定 它有点像一个简化了的Capistrano,只是它是在Python中,不希望您部署Rails应用程序,“put”命令可以工作 与Capistrano不同,Fabric希望保持小、轻、易于更改且不受任何特定框架的约束
在以前的公司中使用的东西之一是——信不信由你——RPM文件。当我们构建软件时,它的所有不同部分都将打包成RPM文件,然后部署到服务器上
- 使用SSH连接到应用程序服务器
- 将最新源代码从Subversion签出到一个新的、注明日期的文件夹
- 通过更新一两个符号链接来激活新版本
- 重新加载应用程序服务器