Creating Pipeline and Automated Testing on GitLab
Turky Jgeif, Saad (2021)
Turky Jgeif, Saad
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202103113186
https://urn.fi/URN:NBN:fi:amk-202103113186
Tiivistelmä
Abstract
It was identified by the assigner Nestronite Oy that the main objective was to create a modern software development environment for the cloud-based application called Jaxber. That includes continuous integration, deployment (CI/CD), and automated testing. The value of software testing is significant. Nevertheless, software development environments can create time and cost limitations that make it hard to completely test an application preceding release. If faults slip unnoticed into the production environment, the end result can be customer dissatisfaction and increased maintenance costs.
The goal of the author was to create the required environment. The author studied the requirements of creating a pipeline, Docker, Robot Framework, and its libraries. The focus was on how to test the application using the Robot Framework on GitLab. The author used a diary-based method where he explained his work by writing everything about his learning during the period of writing. The relevant data for the qualitative research was gathered on a daily basis and followed up by a weekly reflective summary. The reporting time covered nine weeks in calendar time.
Based on the results, the automated test, building, and deployment were achieved successfully. Where the development environment created a pipeline containing three stages. The first stage was Docker. In this stage, the author used Dockerfile for production. In the second stage, the author deployed the application on GitLab pages in order to test it using Robot Framework. The last stage was the test using Robot Framework, where the author created a test cases file at the root of the application, then called it in this stage.
Related to GitLab, the author created a virtual machine. On this virtual machine, the author set up the GitLab runner to run the pipeline, in addition to all the packages that could be installed on this virtual machine to reduce the time of the test.
It was identified by the assigner Nestronite Oy that the main objective was to create a modern software development environment for the cloud-based application called Jaxber. That includes continuous integration, deployment (CI/CD), and automated testing. The value of software testing is significant. Nevertheless, software development environments can create time and cost limitations that make it hard to completely test an application preceding release. If faults slip unnoticed into the production environment, the end result can be customer dissatisfaction and increased maintenance costs.
The goal of the author was to create the required environment. The author studied the requirements of creating a pipeline, Docker, Robot Framework, and its libraries. The focus was on how to test the application using the Robot Framework on GitLab. The author used a diary-based method where he explained his work by writing everything about his learning during the period of writing. The relevant data for the qualitative research was gathered on a daily basis and followed up by a weekly reflective summary. The reporting time covered nine weeks in calendar time.
Based on the results, the automated test, building, and deployment were achieved successfully. Where the development environment created a pipeline containing three stages. The first stage was Docker. In this stage, the author used Dockerfile for production. In the second stage, the author deployed the application on GitLab pages in order to test it using Robot Framework. The last stage was the test using Robot Framework, where the author created a test cases file at the root of the application, then called it in this stage.
Related to GitLab, the author created a virtual machine. On this virtual machine, the author set up the GitLab runner to run the pipeline, in addition to all the packages that could be installed on this virtual machine to reduce the time of the test.