持续集成
wang_quan_li
高级工程师,CSAI顾问团顾问,PHP策进会(PEA)兰州常委,首批陇原青年创新人才扶持计划人选,甘肃省省属科研院所科技创新团队——情报研究与信息服务模式创新团队成员。先后取得程序员、软件设计师、系统分析师资格。
展开
-
PHP开源项目使用Travis CI进行持续集成
一个项目如何保证代码质量是开发中非常重要的环节,对于开源项目来说更是如此,因为开源项目要面对的是来自不同水平开发者提交的代码。所以围绕开源做持续集成(Continuous Integration)变得越来越重要,而目前使用最广泛的免费CI工具当数Travis CI,以我的项目EvaThumber为例,来介绍一下如何在PHP开源项目中配合Travis CI进行持续集成Travis CI能转载 2015-02-06 17:10:44 · 835 阅读 · 0 评论 -
持续集成之Jenkins插件使用(二)- 邮件通知模板化
接着上次的继续,这次只介绍一个插件,Email-ext Plugin相信大家一定对这个插件很是熟悉,大多的Jenkins都安装了这个插件,并且在job中大量使用这个插件来发送邮件通知。对于这个插件的配置就不多说了,重点来看看这个插件提供的邮件模板化功能。安装完这个插件后,进入${JENKINS_HOME}\plugins\email-ext\WEB-INF\classe转载 2016-04-13 15:14:19 · 1560 阅读 · 0 评论 -
持续集成之Jenkins插件使用(一)- 多个job之间的串并联
Jenkins除了开源和免费,还有一个最吸引人的功能之一就是支持插件。Jenkins不光有丰富的第三方插件,还可以自己动手编写插件,和其他工具进行深度的集成,从而达到符合公司产品管理需求的一个定制化。接下来我们会分享一系列关于Jenkins插件的使用和开发实践经验,介绍一些经典而又实用的第三方插件和公司内部自己开发的插件,希望大家能在工作中根据项目的需求灵活地运用。这次转载 2016-04-13 15:16:50 · 2681 阅读 · 0 评论 -
用MSBuild和Jenkins搭建持续集成环境(1)
你或其他人刚刚写完了一段代码,提交到项目的版本仓库里面。但等一下,如果新提交的代码把构建搞坏了怎么办?万一出现编译错误,或者有的测试失败了,或者代码不符合质量标准所要求的底限,你该怎么办?最不靠谱的解决方案就是寄希望于所有人都是精英,他们根本不会犯这些错误。但如果真的出现了这些问题,我们就希望发现的越早越好。最好的方式就是只要有代码提交,我们就有某种方式对它进行验证。这就是持续集成的作用。转载 2016-04-11 16:48:09 · 463 阅读 · 0 评论 -
用MSBuild和Jenkins搭建持续集成环境(2)
这是持续集成系列的下半部分,如果你还没看过上半部分的话,请点击这里:用MSBuild和Jenkins搭建持续集成环境(1)。与Jenkins相会Jenkins在2004年由Kohsuke Kawaguchi创建,最开始的名字叫Hudson。Kawaguchi当时在Sun工作,Sun直到2008年一直为Hudson提供支持,但是当它被Oracle收购以后,Oracle和Hudson的开发者社转载 2016-04-11 16:49:08 · 934 阅读 · 0 评论 -
jenkins自动构建.net时的配置信息
安装插件MSBuild Plugin: 使用MSBuild来构建.NET工程;确保机器上msbuild的路径在系统path环境变量中,例如C:\Windows\Microsoft.NET\Framework\v4.0.30319MSBuild Build File直接使用.net项目里的.sln文件即可。xcopy实现从jenkins编译后的地方拷贝到程序部署位置,/S表示复制原创 2016-05-25 11:32:52 · 488 阅读 · 0 评论 -
jenkins自动构建.net时提示“任务失败,因为未找到“AxImp.exe”,或未安装正确的 Microsoft Windows SDK“
jenkins自动构建.net时发生错误,查看Console Output看到如下错误:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2015,5): error MSB3091: 任务失败,因为未找到“AxImp.exe”,或未安装正确的 Microsoft Windows SDK。任务正原创 2016-05-06 16:34:58 · 3907 阅读 · 1 评论 -
jenkins报错:java.lang.illegalstateexception already existed will not overwrite with
jenkins/jobs/jobname/nextBuildNumber 记录了下一次构建的批次数,在 job 维度下的自增 id修改nextBuildNumber后需要重载配置文件原创 2016-07-20 17:40:11 · 2393 阅读 · 0 评论 -
「Jenkins+Git+Maven+Shell+Tomcat持续集成」经典教程
Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变得可能。现在软件开发追求的是效率以及质量,Jenkins使得自动化成为可能!亮点采用shell自定义脚本,控制集成部署环境更加方便灵活精简war包中的lib包,常驻tomcat里,减少war包传输时间Jenkins 用户权限管理,不让淘气鬼乱动构建失败发邮件通知相关人员转载 2016-07-07 17:03:48 · 453 阅读 · 0 评论 -
maven项目自动构建时的pom.xml文件中的build
compile maven-war-plugin 2.1.1 maven-compiler-plugin 3.5.1 1.7 1.7原创 2016-08-08 14:30:53 · 1249 阅读 · 0 评论 -
持续集成回顾暨点滴分享[7] – 实施篇,持续集成搞起来!
一万年太久,只争朝夕!本系列博文已经介绍了单元测试,静态代码检查,UI自动化,Jenkins,等持续集成的关键元素,这些内容远不是全部,只是皮毛而已,但也足以让我们从零开始实践持续集成了 本文的着力点就在于结合我们的实际,简单论述如何开展持续集成,并大致分为:为什么是什么怎么办三段论论述,那么洪哥,我们动手吧!为什么实施持续集成先听听Martin Fowler是转载 2016-04-13 14:56:12 · 980 阅读 · 0 评论 -
持续集成回顾暨点滴分享[6] – 工具篇,Jenkins终于登场了!
工欲善其事,必先利其器说起持续集成,不得不讲Jenkins了。但苦思良久,才落笔开始写:Jenkins的内容太丰富了,各种小技巧,插件,配置,层出不穷,难以计数:写之不尽,而我又所知有限Jenkins的介绍遍地开花,谷歌,百度,一大把:入门的,进阶的,大师的,写得好的,真多!Jenkins的本质,是个瑞士军刀,功能虽多,但你一旦知道了就可以很容易配置出来:确实是简单易上手,没关子可卖转载 2016-04-13 14:36:36 · 1839 阅读 · 1 评论 -
持续集成回顾暨点滴分享[5] – 吐槽篇,代码提交记录很重要!
写了几篇干货,插一个吐槽吧!持续集成的一个题中之义就要充分获取各种信息为我所用,掌握了信息,才可以避免被动挨打的局面,各位QA/测试们,你懂的!众多信息中,代码的提交信息(svn commit / git commit / etc)是极为关键的一项,根据提交记录:在开发过程中,可以使我们快速、实时了解开发进度尤其是在临近上线时,密切监控代码库,防止各种未经沟通的代码提交发现Bug后转载 2016-04-13 14:31:55 · 749 阅读 · 1 评论 -
PHP持续集成实践
一、什么是php持续集成 持续集成是极限编程中提出的一项建议实践。 在开发阶段,对项目进行持续性自动化编译、测试 单元测试(Unit Test) 决定了持续集成的效果 PHPUnit Framework 反映项目健康状况,利于发现问题和改进 尽快的发现错误,减少重复工作,降低风险 自动化部署,有效提高工作效率最近一直在寻找一个支持p转载 2015-02-06 17:30:20 · 1115 阅读 · 0 评论 -
构建Deployment系统
对软件公司,特别是互联网软件公司来说,发布流程是企业的核心竞争力。那么什么是一个好的发布流程呢?Github(别忘了它本身也是一家软件公司)的CTO在介绍Boxen的时候说过,他们公司新员工从拿电脑到可以开始编码只要30分钟,这给混过几家10w+员工公司的我带来的震撼特别强烈。所以我觉得,一个好的软件发布流程应该是:新员工在第一天入职就能push改动到production新员工在第转载 2015-06-16 18:06:10 · 823 阅读 · 0 评论 -
使用gitlab+jenkins+saltstack+rsync自动部署Web应用
本文描述了集群服务器下部署web应用的一种方式及其架构,其讨论的背景基于以下服务架构,如图所示:本地服务器用于编辑和测试代码,编辑测试完成后将源码传到源码服务器上,再从源码服务器上同步到先上服务器。GitLab是一个开源的源码管理应用,提供类似Github的代码管理服务,使用代GitLab管理线上代码,可以在服务器更新出错时回滚到旧版本,便于管理和维护。GitLab的安装可参照官方文档转载 2015-06-16 18:07:08 · 3351 阅读 · 0 评论 -
Jenkins使用遇到的坑
在项目配置中的源码管理中的Repository URL中填写的字母不能有特殊字符,比如!Jenkins会自动将!转义为%21特殊字符是通过.jenkins/workspace/***/.git/config查看到的原创 2015-12-18 16:47:38 · 2119 阅读 · 1 评论 -
从持续集成到持续发布
持续集成作为一种很好的软件工程实践被很多团队所采用,和其他一些先进的实践一样,它最终的目的一定是服务于产品的。产品的价值最终体现在用户体验的提升,而这个的前提就是产品的每一次更新能够及时地传递给用户,对于运维团队来说就是更快地在生产环境中部署最新的产品,对于研发团队来说就是更频繁地发布可以工作的软件。暂且抛开业界非常流行的DevOps理念,单纯地从研发团队来看,如何快速的发布对用户有价转载 2016-04-13 14:23:09 · 1092 阅读 · 0 评论 -
持续集成回顾暨点滴分享[1] – 举目向前,摸石过河
大概会涉及以下内容:UI自动化单元测试接口测试静态代码检查Code ReviewJenkins及Sonar的配置与使用代码覆盖率沟通技巧与开发团队的协作与沟通SVN / Git /GerritPython文档版本化QA职能的思考转载 2016-04-13 14:26:48 · 676 阅读 · 1 评论 -
持续集成回顾暨点滴分享[2] – UI自动化,靠谱!
背景介绍按照组织上的安排,咱游击到了S产品(一个快速成长中的Web产品)开搞持续集成。考虑到S产品核心业务单一明确,前端功能简单,业务逻辑主要在后端的特点,制定了持续集成的实施策略:UI自动化为辅,用例少一点,精一点,降低维护成本,用例设计以冒烟和页面跳转,走通业务流程为主,目的是保障一个高可测性的测试环境;单元测试重点跟进,自顶向下逐步覆盖各层接口,多覆盖各种分支路径,与UI自动转载 2016-04-13 14:27:50 · 800 阅读 · 1 评论 -
持续集成回顾暨点滴分享[3] – 单元测试,摸索ing!
前文提到,在UI自动化之外,我们着力探索了如何实施单元测试(unit test)相对于UI自动化,单元测试方面的实践还是不够充分的,因此,这里也只是小结一下我们的经验概述首先明确一下,此处单元测试概念与经典意义有所不同,泛指所有:由开发工程师编写的,可以在开发本地一键运行的,运行时间在分钟级别的测试用例,用例执行会依赖不多的,但往往也是稳定可靠的外部环境测试框架一般使用Test转载 2016-04-13 14:29:24 · 724 阅读 · 1 评论 -
持续集成回顾暨点滴分享[4] – 静态代码检查,单元测试好基友!
前言关于使用Sonar进行静态代码检查(static analysis,SA),我的同事霞如女士在《易测试》2013年8月刊已有十分全面而精彩的论述,建议读者先阅读之 本文仅结合自身实践略作小结,并介绍一些小技巧所谓 名不正则言不顺,言不顺则事不成 在进入正文之前我还是啰嗦下静态代码检查的好处Δ初级作用借助工具快速、低成本地发现代码中的问题,尤其是功能性方面的(空指针、内存溢转载 2016-04-13 14:30:55 · 1014 阅读 · 1 评论 -
ansible控制win7家庭版遇到的问题
参考https://www.cnblogs.com/kingleft/p/6391652.html安装过程遇到问题在centos7上的ansible安装没有使用源码安装,直接yum install ansible安装从网上下载upgrade_to_ps3.ps1下面的2句命令不要在powershell中执行,会报错,直接在cmd命令下执行1.为winrm service 配置auth:winrm ...原创 2018-03-15 17:53:14 · 2121 阅读 · 0 评论