之前寫了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 . . .]