Streszczenie:
Software development became one of the core priorities of modern companies, due
to increased demand for use of IT technologies in products and services offered. Having the
website as well as a mobile application to represent offered services means gaining a
competitive advantage against other players on the market. As the number of products
available on the market increases so have the requirements for their quality and stability
from the end-users. To keep up with such standards new methodologies for the software
development process have arisen. The most widely used today are Agile and DevOps.
For such reasons, this thesis is mostly dedicated to describing the process of creating
the development and production environment that will embrace the methodologies of
DevOps.
The first chapter of this thesis is dedicated to defining the software development life
cycle and its parts as well as the difference between the most popular software
development methodologies that are used to create a product.
Based on the described methodology of Agile application development combined
together with the DevOps concept of combining two essential parts of the project -
development, and operations, the system is presented in the second chapter. The project
will be composed of three independent parts: Application, Infrastructure, and CI/CD tools.
In the next chapter, the technological tools and solutions used in the thesis are
described with an analysis of the alternatives available on the market as well as advantages
and disadvantages in some of them.
The last chapter is dedicated to the implementation of the system described above, the first
part will include the implementation of the application that is being brought through the
DevOps lifecycle. The second part describes the infrastructure setup and configuration of
CI/CD tools as well as the process of creating the pipelines dedicated to application testing,
building, and deployment to the infrastructure in the containerized form.