jenkins & php的持續(xù)集成測試環(huán)境配置

之前寫了jenkins的安裝和安全配置,今天這篇文章主要是關(guān)于php的持續(xù)集成測試環(huán)境的配置。

安裝jenkins插件

  • 需要安裝插件

    • checkstyle
    • cloverphp
    • crap4j
    • dry
    • htmlpublisher
    • jdepend
    • plot
    • pmd
    • violations
    • warnings
    • xunit
    • git
    • greenballs
  • 通過操作jenkins管理頁面安裝

2C9CBEA6-28F8-4855-A5D7-3A3DD86725C3.png
0BED92E6-ECA1-4C82-9329-D832C435CDE8.png
  • 通過可選插件安裝


    75AEF593-21AB-4C7A-AB9E-918177DEAA41.png
  • 通過高級(jí)選項(xiàng)安裝

A86A339F-C060-4506-BE6C-268073EF4A1F.png
  • 通過jenkins cli進(jìn)行安裝

    通過這種方式進(jìn)行安裝之前,我們要獲取到用戶的初始管理員賬號(hào)和密碼

export JCLIUSER=admin
# 獲取jenkins的初始密碼
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
export JCLIPASS=<YOUR PASSWORD>

安裝插件的命令

wget http://localhost:8080/jnlpJars/jenkins-cli.jar
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin \ 
      checkstyle cloverphp crap4j dry htmlpublisher jdepend \ plot pmd           
      violations warnings xunit git greenballs \ 
      --username $JCLIUSER --password $JCLIPASS
java -jar jenkins-cli.jar -s http://localhost:8080 safe-restart --username $JCLIUSER --password $JCLIPASS

安裝php, composer, tools

  • 安裝PHP
sudo LC_ALL=en_US.UTF-8 add-apt-repository -y ppa:ondrej/php
sudo apt-get updatesudo apt-get install -y php7.0 php7.0-xdebug \
     php7.0-xsl php7.0-dom php7.0-zip php7.0-mbstring
  • 安裝composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composerphp -r "unlink('composer-setup.php');"
sudo chown -R $USER:$USER ~/.composer/
  • 安裝tools

    • PHPUnit 用于單元測試
    • PHP_CodeSniffer (phpcs) 用于代碼風(fēng)格檢查
    • phploc 用于分析項(xiàng)目結(jié)構(gòu)和度量項(xiàng)目大小
    • pdepend 展示項(xiàng)目的可擴(kuò)展,可重用,可維護(hù)的設(shè)計(jì)質(zhì)量
    • PHPMD – PHP Mess Detector 代碼的質(zhì)量的檢測
    • PHP Copy/Paste Detector (phpcpd) 檢測項(xiàng)目中的重復(fù)代碼
    • PHP_CodeBrowser (phpcb) 將像phpcs或phpmd等工具檢測出的違反代碼質(zhì)量保證的代碼部分可視化
    • phpDox PHP項(xiàng)目文檔生成器

    安裝上面工具的命令

composer global config minimum-stability dev
composer global config prefer-stable true
composer global require phpunit/phpunit squizlabs/php_codesniffer \ 
phploc/phploc pdepend/pdepend phpmd/phpmd sebastian/phpcpd \
mayflower/php-codebrowser theseer/phpdox:dev-master
  • 設(shè)置一個(gè)項(xiàng)目的基礎(chǔ)模板,其他項(xiàng)目可以通過copy的方式繼承該模板的配置
curl -L https://raw.githubusercontent.com/modess/php-jenkins-template/master/config.xml | \ 
java -jar jenkins-cli.jar -s http://localhost:8080 create-job php-template --username $JCLIUSER --password $JCLIPASS
612F4A85-BF85-42C6-9AAD-E80946794F7D.png

集成項(xiàng)目

新建一個(gè)job

062F62EF-C791-4309-A8D4-AED1B2D23A1A.png

代碼源配置,我們使用github上面的Money項(xiàng)目

6B3B3D4C-1B33-4DDA-B83E-7172237BF8E3.png

添加Money項(xiàng)目的github地址,然后在Credentials哪里點(diǎn)擊帶鑰匙圖標(biāo)的Add按鈕,添加github的賬號(hào)和密碼,點(diǎn)擊上圖左邊菜單欄中的【立即構(gòu)建】

B7780621-78A9-4807-8FFB-EF438EC2B524.png

ok, 這樣子使用jenkins來對php項(xiàng)目進(jìn)行持續(xù)集成測試的環(huán)境就搭建好了,執(zhí)行成功是藍(lán)色的小球,執(zhí)行失敗是紅色的小球,最后上幾張圖執(zhí)行測試成功的圖

331E3A49-B19C-4C48-B572-A31916603EEA.png
47A2870E-FB92-4E87-B610-B1F6456CBFF5.png
5D14704C-0974-48EF-9B6D-5503C2B64FC7.png
C3E65ED2-8391-46FD-A7A7-AC914DD4EF54.png
39BF754F-BEF3-4DFC-A70E-945EE6E5717D.png
6196A9D1-229D-4B7D-820E-433436CDD5FC.png

![Uploading 103AF0C9-0F6A-4D53-B4E6-45D93856AC70_563952.png . . .]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評(píng)論 6 533
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,595評(píng)論 3 418
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評(píng)論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評(píng)論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,814評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,224評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評(píng)論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,444評(píng)論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,988評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,804評(píng)論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,998評(píng)論 1 370
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評(píng)論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,237評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評(píng)論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,706評(píng)論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,993評(píng)論 2 374

推薦閱讀更多精彩內(nèi)容