Font Size: a A A

The Design And Implementation Of Application Construction Subsystem In Application Delivery Platform

Posted on:2020-02-02Degree:MasterType:Thesis
Country:ChinaCandidate:Z Y ZhouFull Text:PDF
GTID:2518305735986839Subject:Master of Engineering
Abstract/Summary:PDF Full Text Request
Continuous Integration and Continuous Delivery are a combination of the process in which developers continuously merge their code into the master branch,and deliver an executable system to users.In recent years,Continuous Integration and Continuous Delivery have been a software development method that is highly praised by Internet developers,especially teams using Agile Software Development.Through Continuous Integration and Continuous Delivery,developers can reduce their risk of software development,react to requirement changes quickly,and ensure the quality of their programs at the meantime.Importing Continuous Integration and Continuous Delivery into the company can improve the efficiency of development and operation,eventually add benefit of the company.At present,there have been some commercial software for Continuous Integration and Continuous Delivery in the market.However,applications to be managed involve company confidential,so they can't be used.And relevant open source software doesn't have functions sufficient for application delivery.Besides,some internal teams of the company build code integration and delivery platforms independently,and those platforms bring them the benefit of Continuous Integration and Continuous Delivery.However,these independently built platforms can only be used inside the teams.They have few people to support,therefore they may have poor quality.What's more,most of them are based on the same open source software,and much of the work they take is duplicate,so they waste many human resources.So it is important to develop a unified application delivery platform for all developers of the company.This thesis designs and implements an application construction subsystem of the application delivery platform in NetEase to provide the ability of constructing applications for the platform.Its main novelty is the part of container construction.With the ability of container orchestration of Kubernetes,and the help of Jenkins,applications can be built in containers.It makes the building process more isolated and can take better advantage of resources.The solution of the system consists of three aspects.First of all,it uses Ant scripts to be compatible with the construction of applications written in different programming languages.Second,it provides virtual machine construction and container construction for developers to select suitable ways according to their requirements.Third,a web system that is easy to operate and has a good user experience is developed for users.This system can be divided into a web service module,a virtual machine construction module and a container construction module.The web service module is responsible to interact with the front end and forward requests.The virtual machine construction module is responsible to perform building tasks on virtual machines.And the container construction module is responsible to build applications in containers.This system mainly uses Spring Boot and Spring Data JPA to develop the server.All modules expose their services with APIs and it makes them loosely coupled.The system has high availability by means of load balancing and multi-instance deployment.Last but not least,with the help of Kubernetes and Jenkins,the system can easily do the job of container orchestration and task scheduling.It reduces the development time and takes advantage of the community to guarantee reliability.Till this moment,the system has supported large numbers of building tasks in the company.It has been running well and won much praise.
Keywords/Search Tags:Continuous Integration, Continuous Delivery, Application Construction, Kubernetes
PDF Full Text Request
Related items