CI(Continuous Integration)具体实施方式依赖于项目的开发流程,而CI以自身的一些特点(如,自动化,快速,周期性,定时性等)在敏捷的开发流程(如scrum)中似乎更能体现其价值。本文便是建立在这样的一个项目基础之上的。
项目背景:
- 敏捷的开发流程,3到4周为一个sprint,正常的提交是以sprint为周期的,不排除因其它原因而要求3天内提交。
- 项目多分支——mainline,sandbox,release x...
- mainline为每个sprint的提交分支
- sandbox为开发分支,是开发人员的workspace,会不定时将代码同步至mainline分支
- release为发布分支,是项目发布包到产品测试环境源代码分支。在此分支上只允许bug的修复,并要求同步至mainline分支
- 开发团队多小组(如功能A组,功能B组),每一个小组可以有自己的sandbox分支。
- 开发语言为Java,因此在编译时并没有去考虑编译的性能,直接是全编译。(注:有项目可以考虑使用增量编译的方式)
在这样的项目背景下,针对mainline和release分支都创建了自动化的Job,每个Job的过程大概可以分为以下几个步骤:
- 源代码同步
- 编译
- 单元测试
- 打包部署至测试环境
- 集成测试
- 发布包
流程中会收集每个环节的报告:
- unittest report
- code coverage
- function test report
这些报告将发布到web服务器上,并以邮件的形式将报告的URL通知给相关人员。
此外若最后编译的包也发布成功,那么邮件体中也会包含如下内容:
- 当前版本与上个版本相比的changlist
- 新包的版本号
- 包的发布地址
这样方便测试人员进行后续的人工验证。
- 大小: 183.1 KB
- 大小: 189.1 KB
分享到:
相关推荐
Continuous Integration: Improving Software Quality and Reducing Risk illustrates how to transform integration from a necessary evil into an everyday part of the development process. The key, as the ...
Gain the techniques and tools that enable a smooth and efficient software development process in this quick and practical guide on Python continuous integration (CI) and continuous delivery (CD)....
Title: Jenkins Continuous Integration Cookbook, 2nd Edition Author: Alan Mark Berg Length: 360 pages Edition: 1 Language: English Publisher: Packt Publishing Publication Date: 2015-01-29 ISBN-10: ...
Jenkins is an award-wining and one of the most popular Continuous Integration servers in the market today. It was designed to maintain, secure, communicate, test, build, and improve the software ...
Learning Continuous Integration with Jenkins - Second Edition: A beginner's guide to implementing Continuous Integration and Continuous Delivery using Jenkins 2 Key Features Understand the concepts ...
Key FeaturesUse Docker containers, horizontal node scaling, modern orchestration tools (Docker Swarm, Kubernetes, and Mesos) and Continuous Integration/Continuous Delivery to manage your ...
Key FeaturesUse Docker containers, horizontal node scaling, modern orchestration tools (Docker Swarm, Kubernetes, and Mesos) and Continuous Integration/Continuous Delivery to manage your ...
If you are a Jenkins novice or beginner with a basic understanding of continuous integration, then this is the book for you. Beginners in Jenkins will get quick hands-on experience and gain the ...
Automating build engineering, continuous integration, and continuous delivery/deployment Enforcing Agile ALM controls without compromising productivity Creating effective IT operations that align with...
Perform Continuous Integration and deployment and fine-tune the way you deliver on AWS Book Description Knowing how to adopt DevOps in your organization is becoming an increasingly important skill for...
They then explain how to automate the testing process using JUnit, Cactus, and other tools, and to enhance project management and continuous integration through Maven and AntHill. Finally, they show ...
They then explain how to automate the testing process using JUnit, Cactus, and other tools, and to enhance project management and continuous integration through Maven and AntHill. Finally, they show ...
They then explain how to automate the testing process using JUnit, Cactus, and other tools, and to enhance project management and continuous integration through Maven and AntHill. Finally, they show ...
They then explain how to automate the testing process using JUnit, Cactus, and other tools, and to enhance project management and continuous integration through Maven and AntHill. Finally, they show ...
Let the Continuous Integration server do much of the hard work for you Automate the process of pushing code through the pipeline Define development process standards to improve consistency and ...
Along the way, it touches on advanced topics like testing, continuous integration, and monitoring code quality. You’ll also explore tasks like setting up your target environment and deploying your ...