之前写了jenkins的安装和安全配置,今天这篇文章主要是关于php的持续集成测试环境的配置。
安装jenkins插件
-
需要安装插件
- checkstyle
- cloverphp
- crap4j
- dry
- htmlpublisher
- jdepend
- plot
- pmd
- violations
- warnings
- xunit
- git
- greenballs
通过操作jenkins管理页面安装
-
通过可选插件安装
通过高级选项安装
-
通过jenkins cli进行安装
通过这种方式进行安装之前,我们要获取到用户的初始管理员账号和密码
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) 用于代码风格检查
- phploc 用于分析项目结构和度量项目大小
- pdepend 展示项目的可扩展,可重用,可维护的设计质量
- PHPMD – PHP Mess Detector 代码的质量的检测
- PHP Copy/Paste Detector (phpcpd) 检测项目中的重复代码
- PHP_CodeBrowser (phpcb) 将像phpcs或phpmd等工具检测出的违反代码质量保证的代码部分可视化
- phpDox PHP项目文档生成器
安装上面工具的命令
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
- 设置一个项目的基础模板,其他项目可以通过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
集成项目
新建一个job
代码源配置,我们使用github上面的Money项目
添加Money项目的github地址,然后在Credentials哪里点击带钥匙图标的Add按钮,添加github的账号和密码,点击上图左边菜单栏中的【立即构建】
ok, 这样子使用jenkins来对php项目进行持续集成测试的环境就搭建好了,执行成功是蓝色的小球,执行失败是红色的小球,最后上几张图执行测试成功的图
![Uploading 103AF0C9-0F6A-4D53-B4E6-45D93856AC70_563952.png . . .]