设为首页 收藏本站
查看: 1007|回复: 0

[经验分享] PHP开发必备 PHP持续集成工具介绍(下)

[复制链接]

尚未签到

发表于 2017-3-25 11:54:54 | 显示全部楼层 |阅读模式
综合持续集成工具 Jenkins    有了上面的各类工具,用户可以在PHP中进行持续集成构建的工作,但还可以使用一款综合的持续集成工具Jenkins(http://jenkins-ci.org/)进行(注:Jenkins其实就是原先的构建工具Hudson,只不过现在改了名称)。这款持续集成工具是个持续构建服务器,包含了上述提到的各种PHP持续构建工具的功能,安装好后,能做到每天持续构建,并将构建的结果通知用户。下面对其进行简单介绍。
    Jenkins可以使用windows下的计划任务,LINUX下的SHELL以及ANT或者MAVN去进行构建项目,本文以使用ANT为例进行说明,首先必须安装JAVA中的ANT。编写ANT文件如下:
  <project name="Test"default="build" basedir=".">
DSC0000.gif
<property name="output"location="${basedir}/buildOutput/"/>

<target name="init">
<mkdirdir="${output}"/>
<mkdirdir="${output}/phpcs/"/>
<mkdirdir="${output}/pdepend/"/>
</target>

<target name="build"depends="init, test, phpcs, phpmd, phpcpd, pdepend">
</target>

<target name="test">
<execexecutable="phpunit" failonerror="true">
<arg line="--coverage-clover${output}/CodeCoverage/clover.xml
--coverage-html ${output}/CodeCoverage/
.
"/>

</exec>
</target>

<target name="phpcs">
<execexecutable="phpcs">
<arg line="--report=checkstyle
--report-file=${output}/phpcs/checkstyle.xml
--standard=Zend
${basedir}
"/>

</exec>
</target>

<target name="phpmd">
<execexecutable="phpmd">
<arg line="
. xml codesize,unusedcode,naming,design --reportfile ${output}/messdetector.xml --exclude Tests/
"/>
</exec>
</target>

<target name="phpcpd">
<execexecutable="phpcpd">
<arg line="
--log-pmd ${output}/phpcpd.xml .
"/>
</exec>
</target>

<target name="pdepend">
<execexecutable="pdepend">
<arg line="
--jdepend-xml=${output}/pdepend/jdepend.xml
--jdepend-chart=${output}/pdepend/dependencies.svg
--overview-pyramid=${output}/pdepend/overview-pyramid.svg
--ignore=Tests/
.
"/>
</exec>
</target>
</project>
  
  
   熟悉ANT的读者应该知道,这里其实是调用了以上说的各个PHP持续集成工具而已。
    接下来,是安装Jenkins,到Jenkins的官网去下载相符合的操作系统版本,然后就可以按照指引安装,本文以在Ubantu上的安装方法为例说明:
  
  wget -q-O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key| sudo apt-key add –
/etc/apt/sources.list文件最后增加如下这行:
deb http
://pkg.jenkins-ci.org/debian binary/


sudo apt
-getupdate
sudo apt
-get install jenkins

  
  
  之后就可以安装成功了,可以通过http://localhost:8080/ 去访问Jenkins了,初始界面如下图:
DSC0001.jpg

    Jenkins的设置
    Jenkins的设置比较复杂,在这里不一一详细论述。但这里稍微提下设置的基本方法。只需要点上图中的“Manage Jenkins”链接,再点“Configure System”则可进入设置面板,其中你可以设置相关的权限设置,也可以设置SMTP用来通知每次的构建成功与否的信息。此外,需要设置Jenkins中的插件设置,要打开相关的插件设置开关,比如使用Git做版本控制工具的,则要设置Git插件为允许状态。设置的步骤很简单,选择“plugin”,点“Install”即可安装,安装后要重新启动Jenkins。
    我们需要安装一系列的插件去实现php的持续集成,比如安装Clover(https://wiki.jenkins-ci.org/display/JENKINS/Clover+Plugin)去图形化显示phpunit的单元测试覆盖率,安装Checkstyle(https://wiki.jenkins-ci.org/display/JENKINS/Checkstyle+Plugin)去显示PHP CodeSniffer的运行结果,也要安装PMD,而Jdepend(https://wiki.jenkins-ci.org/display/JENKINS/JDepend+Plugin)用来显示PHPDepend的结果。
    在完成基本设置后,我们可以首先新建立一个Job,点“New Job”链接,给Job命名,之后,我们可以按照http://jenkins-php.org/一文中的教程进行设置,之后就可以运行构建了,下面是两个典型的构建运行图:
DSC0002.jpg

DSC0003.jpg

    可以看到,Jenkins的每次构建,都能综合运用了本文所谈到的各样php集成工具,十分方便,而且能提供十分丰富的图形报表。
    总结
    持续集成应该成为你日常项目管理运行维护的重要步骤,通过每天构建项目,能达到敏捷软件工程学中的最佳实践,提高系统的可靠性,减少系统潜在的bug,由于篇幅所限,更多的持续集成工具用法在以后的文章中将会详细论述,读者可参考各工具的参考手册进行学习。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-355208-1-1.html 上篇帖子: PHP网站安全,避免PHP网站受到攻击的方法 下篇帖子: Windows 下的 PHP 扩展编程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表