Font Size: a A A

Design And Practice Of DevOps Platform For Docker Environment

Posted on:2021-05-16Degree:MasterType:Thesis
Country:ChinaCandidate:D HanFull Text:PDF
GTID:2428330611497496Subject:Computer technology
Abstract/Summary:PDF Full Text Request
In the era of 4G mobile Internet,the salient feature of software development is the rapid response to changes in demand and the rapid delivery of software.The traditional software development model has deficiencies in meeting this challenge,and DevOps came into being.DevOps is a combination of development and operations.It is a group of processes,methods,and systems.It is used to promote communication,collaboration,and integration between development,technology operations,and quality assurance(QA)departments.DevOps emphasizes that by automating the "software delivery" and "architectural change" processes,building,testing,and releasing software can be faster,more frequent,and more reliable.This article believes that the contradiction is that software deployment is usually complicated,and there are often inconsistencies between the test environment,the production environment,and the development environment,which leads to software delivery failure.Developers want to deliver new functions every day,and operation and maintenance personnel expect the system to be stable,which seems to be an irreconcilable contradiction.In the traditional model,the cost of delivering software is too high,which leads DevOps test and operation personnel to participate in the development as soon as possible,and the vision of daily integration testing cannot be truly realized.Currently,under the guidance of the DevOps concept,a set of development and operation and maintenance tool chains has been formed to achieve automated development,deployment,testing and delivery.For example,integration tools are: Git,Subversion,TFS,Bit Bucket;construction tools are Jenkins,Team City,Bamboo;configuration management tools are Puppet,Chef,etc.However,the DevOps tool chain is characterized by different platforms and tools used by different departments.Although the delivery efficiency has been improved to a certain extent,different departments are still like information silos,and the information flow between different systems is biased towards manual.This article proposes to use Docker containers as the environment in which applications run,containerize applications,and use container table standardization to reduce the cost of software deployment to improve software development and delivery efficiency.This article analyzes the knowledge system of the DevOps concept,Docker container technology and cluster technology,and puts forward "DevOps platform suitable for Docker environment".Make a comprehensive narrative from the aspects of design goals,requirements analysis,system design,implementation and testing.Based on the existing DevOps tool chain,the concept of DevOps platform is proposed.In terms of implementation,we first built basic service platforms such as: Docker container engine service;Kubernetes container cluster,Git Lab code hosting platform,Harbor container warehouse service,Maven,Webpack automatic build tool.These platforms and tools are the actual executors of program compilation,construction,and deployment.The DevOps platform runs on these basic service platforms.By integrating the client terminals of each platform and using the APIs provided by these client terminals,it makes the DevOps unified platform Interacting with each basic service,the DevOps platform becomes the issuer of work orders for other basic service platforms.Developers can automatically compile programs on the DevOps platform and submit new test versions to testers.Feedback from testers conducting tests on the DevOps platform.Operation and maintenance personnel can use the DevOps platform to automatically deploy,expand,monitor,and maintain software.The DevOps platform uses a graphical method to configure the parameters required in each process in the form of a form,abandoning the characteristics of the basic command line tools used by each basic service.System testing shows that the DevOps platform can automatically complete continuous integration,continuous testing,continuous deployment,continuous delivery,and continuous feedback to improve the efficiency of software development and delivery.Developers,testers,and O & M personnel can complete their work on a unified platform.
Keywords/Search Tags:DevOps, Docker containers, Kubernetes clusters, continuous integration, continuous delivery
PDF Full Text Request
Related items