Jenkins Pipeline On A Kubernetes Cluster For Programming Courses
Abstract
Development and Operations (DevOps) is a relatively new model for software
development that offers many advantages.
Faster development and introduction of new changes, such as solving the disconnection
between development and operations teams, and easier detection of faults.
The practice of integrating Continuous Integration (CI) is code changes to the main branch
regularly (i.e. at least daily) and includes automatic build and testing.
CI is the first and central enabler for continual distribution and implementation practices to
be implemented. Although continuous delivery focuses on keeping software available all
the time, it is expanded by continuous implementation to incorporate new changes in
production continuously and automatically.
In both literature and industrial circles, specific descriptions of continuous delivery and
implementation are sometimes absent.
Continuous deployment is a push-based technique that automatically deploys code updates
to a production system. As soon as they are ready, without human intervention, the
environment through a pipeline. Continuous delivery is a pull-based method in which an
individual (e.g. a manager) is expected to determine which code changes should be
released to production and when production-ready. A staging environment seeks to
replicate the production environment as closely as possible, whereas a production
environment is where software or services are available to end users. Continuous
distribution and deployment share similar features and are strongly linked and
interconnected.
It has recently been argued that the fundamental constraints of implementing CD practices
are profoundly rooted in a system's architecture, and these practices may have important
Figure 1.1 relationship between continuous intergration, delivery and deployment7
architectural consequences. This is evident in the recently published systematic CD
reviews, which have called for a new line of research to investigate how to (re-)architect a
CD application. In addition, progress in the DevOps/CD trend, which emphasizes the
treatment of operations teams and organizational aspects as first-class entities in the
process of software development. For example, in a CD sense, software design should
ensure the appropriate degree of quality characteristics (e.g. deployability) and minimize
the input cycle time from operations to development