国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

directory search
characters

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

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

依賴管理

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

執(zhí)行測(cè)試

文檔生成

打包

部署

部署工具

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

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

Phing 是一種在 PHP 領(lǐng)域中最簡(jiǎn)單的開(kāi)始自動(dòng)化部署的方式。通過(guò) Phing 你可以控制打包,部署或者測(cè)試,只需要一個(gè)簡(jiǎn)單的 XML 構(gòu)建文件。Phing (基于Apache Ant) 提供了在安裝或者升級(jí) web 應(yīng)用時(shí)的一套豐富的任務(wù)腳本,并且可以通過(guò) PHP 編寫(xiě)額外的任務(wù)腳本來(lái)擴(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 是一個(gè)為 中高級(jí)程序員 準(zhǔn)備的系統(tǒng),以一種結(jié)構(gòu)化、可復(fù)用的方式在一臺(tái)或多臺(tái)遠(yuǎn)程機(jī)器上執(zhí)行命令。對(duì)于部署 Ruby on Rails 的應(yīng)用,它提供了預(yù)定義的配置,不過(guò)也可以用它來(lái)部署 PHP 應(yīng)用。如果要成功的使用 Capistrano ,需要一定的 Ruby 和 Rake 的知識(shí)。對(duì) Capistrano 感興趣的 PHP 開(kāi)發(fā)者可以閱讀 Dave Gardner 的博文 PHP Deployment with Capistrano ,來(lái)作為一個(gè)很好的開(kāi)始。

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 是一個(gè)用 PHP 編寫(xiě)的部署工具,它很簡(jiǎn)單且實(shí)用。并行執(zhí)行任務(wù),原子化部署,在多臺(tái)服務(wù)器之間保持一致性。為 Symfony、Laravel、Zend Framework 和 Yii 提供了通用的任務(wù)腳本。Younes Rafie 的文章 Easy Deployment of PHP Applications with Deployer 對(duì)于利用此工具部署應(yīng)用來(lái)說(shuō)是一份非常好的指導(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ù)集成是一種軟件開(kāi)發(fā)實(shí)踐,團(tuán)隊(duì)的成員經(jīng)常用來(lái)集成他們的工作, 通常每一個(gè)成員至少每天都會(huì)進(jìn)行集成 — 因此每天都會(huì)有許多的集成。許多團(tuán)隊(duì)發(fā)現(xiàn)這種方式會(huì)顯著地降低集成問(wèn)題, 并允許一個(gè)團(tuán)隊(duì)更快的開(kāi)發(fā)軟件。

– Martin Fowler

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


Previous article: Next article: