Deployment and Testing Automation in Web Applications : Implementing DevOps Practices in Production
Kubryakov, Kirill (2017)
Kubryakov, Kirill
Metropolia Ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2017102616333
https://urn.fi/URN:NBN:fi:amk-2017102616333
Tiivistelmä
This final year project was carried out for EasyAntiCheat Oy. The main goal of the project was to compare the available solutions for Continuous Integration (CI) and Continuous Delivery (CD), choose the tool that best suits the current project needs, and implement it in practice.
The study is based on the principles of Development Operations (DevOps) and the ideas and core values that stand behind the DevOps movement. Eight popular CI tools were chosen for comparison and their advantages and disadvantages were studied. One option was chosen based on hosting options, configuration options, prices and integration with the git repository manager already used by the case company.
Based on the results, GitLab CI was selected and integrated with the current version control system. During the case study, automation of testing, building and deployment were achieved. One GitLab Docker Runner was setup to run the pipeline, which includes the following stages: install, test, build, and deploy to production. Further development of the project may focus on creating a staging environment and closer integration with the company's messenger application.
The study is based on the principles of Development Operations (DevOps) and the ideas and core values that stand behind the DevOps movement. Eight popular CI tools were chosen for comparison and their advantages and disadvantages were studied. One option was chosen based on hosting options, configuration options, prices and integration with the git repository manager already used by the case company.
Based on the results, GitLab CI was selected and integrated with the current version control system. During the case study, automation of testing, building and deployment were achieved. One GitLab Docker Runner was setup to run the pipeline, which includes the following stages: install, test, build, and deploy to production. Further development of the project may focus on creating a staging environment and closer integration with the company's messenger application.