DevOps Pipeline with Docker
Mironov, Oleg (2018)
Mironov, Oleg
Metropolia Ammattikorkeakoulu
2018

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201804154700
https://urn.fi/URN:NBN:fi:amk-201804154700
Tiivistelmä
Software complexity and size are growing at the ever-increasing rate. This study attempts to use modern DevOps practices and technologies to create a reusable pipeline template capable of meeting the demands of modern software and strengthen up the development practices. Such pipeline should largely be reusable and flexible as well as being able to be scaled and maintained with high reliability.
Theoretical research on the topic of how DevOps came to be and what it means is an important part of this project. Then a set of technologies that reflect the state of DevOps today was carefully studied and analysed. Docker and its fast-growing ecosystem is the core technology of this project. With Docker and some other technologies, a set of configuration files could be used to run, develop, test and deploy an application. Such approach allows maximum automation while ensuring transparency of those automation processes.
The result of this project is a fully working pipeline setup that is fully automated and is able to support a fast-paced software development. The pipeline is built against a reference project. Most of the pipeline is configured with a set of different configuration files meaning that from a fresh start it could be brought up with minimal human interaction. It covers all parts of a reference application lifespan from a development environment to a potential production deployment. There is a set of technologies used in the pipeline such as Jenkins, Docker and container orchestration with Rancher.
Theoretical research on the topic of how DevOps came to be and what it means is an important part of this project. Then a set of technologies that reflect the state of DevOps today was carefully studied and analysed. Docker and its fast-growing ecosystem is the core technology of this project. With Docker and some other technologies, a set of configuration files could be used to run, develop, test and deploy an application. Such approach allows maximum automation while ensuring transparency of those automation processes.
The result of this project is a fully working pipeline setup that is fully automated and is able to support a fast-paced software development. The pipeline is built against a reference project. Most of the pipeline is configured with a set of different configuration files meaning that from a fresh start it could be brought up with minimal human interaction. It covers all parts of a reference application lifespan from a development environment to a potential production deployment. There is a set of technologies used in the pipeline such as Jenkins, Docker and container orchestration with Rancher.