Font Size: a A A

Design And Implementation Of The Continuous Integration Platform Based On Jenkins

Posted on:2017-02-27Degree:MasterType:Thesis
Country:ChinaCandidate:Y Y ShiFull Text:PDF
GTID:2308330509957579Subject:Software engineering
Abstract/Summary:PDF Full Text Request
In the process of software development, error may occur while developers integrating their work into the system which could cause a system crash. During development, we can find problems earlier by integrating our work frequently so that we can reduce the risk of system integration. Continuous integration is an agile development approach, which purpose is to improve the success rate of integrate as much as possible. Jenkins is an open source continuous integration platform. But it is complex to add a test job and has various test plug-in which leads to high use-cost and human resource consumption. This paper aims to reducing the cost of test job configuration, and manage the testing tools within the company by adding testing service management on the basis of Jenkins and optimizing configuration interface.Firstly, the paper analyzes the current development and usage of continuous integration and then details the requirements of the system. According to the given requirements, the system architecture and functional structure is designed in the design phase. The system is based on Jenkins using the programming language PHP and high-performance Yaf framework. The system includes rights management, product tree management, service management, module management, build management and local test module. Rights management limits users to use the system within the limits of their authority, to ensure the data security. Products tree management handles the company’s product structure, which in the form of a tree. Service management provides testing services to users freely. The system processes services by assigning values to parameters and encapsulating interfaces of the service so that users can access the service flexible without modifying their existing codes. Module management allows users to edit the information of a module and register service to the module which can be used in the build configuration. Build management, including configuration and build execution, build s tasks by Gearman. Geamran can schedule tasks distributed and improve system performance. Local module is a python script and is available to users in a personal development environment, to ensure the completeness of the test.Through the system functionality and performance testing, it is ultimately proved that the system has completed the desired function and requirements. The system has been put into use in Baidu Browser, Baidu Golf etc. to provide users with a variety of test programs and improve the continuous integration capabilitie s.
Keywords/Search Tags:Continuous Integration, Jenkins, Yaf framework, service management
PDF Full Text Request
Related items