亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

文字

如果你在手動的進(jìn)行數(shù)據(jù)庫結(jié)構(gòu)的修改或者在更新文件前手動運(yùn)行測試,請三思而后行!因?yàn)殡S著每一個額外的手動任務(wù)的添加都需要去部署一個新的版本到應(yīng)用程序,這些更改會增加程序潛在的致命錯誤。即使你是在處理一個簡單的更新,全面的構(gòu)建處理或者持續(xù)集成策略,構(gòu)建自動化絕對是你的朋友。

你可能想要自動化的任務(wù)有:

依賴管理

靜態(tài)資源編譯、壓縮

執(zhí)行測試

文檔生成

打包

部署

部署工具

部署工具可以認(rèn)為是一系列的腳本來完成應(yīng)用部署的通用任務(wù)。構(gòu)建工具并不屬于應(yīng)用的一部分,它獨(dú)立于應(yīng)用軟件 ‘之外’。

現(xiàn)在已有很多開源的工具來幫助你完成構(gòu)建自動化和部署,一些是用 PHP 編寫,有一些不是。應(yīng)該根據(jù)你的實(shí)際項(xiàng)目來選擇最適合的工具,不要讓語言阻礙了你使用這些工具,如下有一些例子:

Phing 是一種在 PHP 領(lǐng)域中最簡單的開始自動化部署的方式。通過 Phing 你可以控制打包,部署或者測試,只需要一個簡單的 XML 構(gòu)建文件。Phing (基于Apache Ant) 提供了在安裝或者升級 web 應(yīng)用時(shí)的一套豐富的任務(wù)腳本,并且可以通過 PHP 編寫額外的任務(wù)腳本來擴(kuò)展。It’s a solid and robust tool and has been around for a long time, however the tool could be perceived as a bit old fashioned because of the way it deals with configuration (XML files).

Capistrano 是一個為 中高級程序員 準(zhǔn)備的系統(tǒng),以一種結(jié)構(gòu)化、可復(fù)用的方式在一臺或多臺遠(yuǎn)程機(jī)器上執(zhí)行命令。對于部署 Ruby on Rails 的應(yīng)用,它提供了預(yù)定義的配置,不過也可以用它來部署 PHP 應(yīng)用。如果要成功的使用 Capistrano ,需要一定的 Ruby 和 Rake 的知識。對 Capistrano 感興趣的 PHP 開發(fā)者可以閱讀 Dave Gardner 的博文 PHP Deployment with Capistrano ,來作為一個很好的開始。

Rocketeer gets its inspiration and philosophy from the Laravel framework. Its goal is to be fast, elegant and easy to use with smart defaults. It features multiple servers, multiple stages, atomic deploys and deployment can be performed in parallel. Everything in the tool can be hot swapped or extended, and everything is written in PHP.

Deployer 是一個用 PHP 編寫的部署工具,它很簡單且實(shí)用。并行執(zhí)行任務(wù),原子化部署,在多臺服務(wù)器之間保持一致性。為 Symfony、Laravel、Zend Framework 和 Yii 提供了通用的任務(wù)腳本。Younes Rafie 的文章 Easy Deployment of PHP Applications with Deployer 對于利用此工具部署應(yīng)用來說是一份非常好的指導(dǎo)。

Magallanes is another tool written in PHP with simple configuration done in YAML files. It has support for multiple servers and environments, atomic deployment, and has some built in tasks that you can leverage for common tools and frameworks.

持續(xù)集成

持續(xù)集成是一種軟件開發(fā)實(shí)踐,團(tuán)隊(duì)的成員經(jīng)常用來集成他們的工作, 通常每一個成員至少每天都會進(jìn)行集成 — 因此每天都會有許多的集成。許多團(tuán)隊(duì)發(fā)現(xiàn)這種方式會顯著地降低集成問題, 并允許一個團(tuán)隊(duì)更快的開發(fā)軟件。

– Martin Fowler

對于 PHP 來說,有許多的方式來實(shí)現(xiàn)持續(xù)集成。近來 Travis CI 在持續(xù)集成上做的很棒,對于小項(xiàng)目來說也可以很好的使用。Travis CI 是一個托管的持續(xù)集成服務(wù)用于開源社區(qū)。它可以和 Github 很好的集成,并且提供了很多語言的支持,包括 PHP 。


上一篇: 下一篇: