Department of Automation, Faculty of Automation and Computer Science, Technical University of Cluj-Napoca, 400114 Cluj-Napoca, Romania.
Sensors (Basel). 2022 Jun 20;22(12):4637. doi: 10.3390/s22124637.
Lately, the software development industry is going through a slow but real transformation. Software is increasingly a part of everything, and, software developers, are trying to cope with this exploding demand through more automation. The pipelining technique of continuous integration (CI) and continuous delivery (CD) has developed considerably due to the overwhelming demand for the deployment and deliverability of new features and applications. As a result, DevOps approaches and Agile principles have been developed, in which developers collaborate closely with infrastructure engineers to guarantee that their applications are deployed quickly and reliably. Thanks to pipeline approach thinking, the efficiency of projects has greatly improved. Agile practices represent the introduction to the system of new features in each sprint delivery. Those practices may contain well-developed features or can contain bugs or failures which impact the delivery. The pipeline approach, depicted in this paper, overcomes the problems of delivery, improving the delivery timeline, the test load steps, and the benchmarking tasks. It decreases system interruption by integrating multiple test steps and adds stability and deliverability to the entire process. It provides standardization which means having an established, time-tested process to use, and can also decrease ambiguity and guesswork, guarantee quality and boost productivity. This tool is developed with an interpreted language, namely Bash, which offers an easier method to integrate it into any platform. Based on the experimental results, we demonstrate the value that this solution currently creates. This solution provides an effective and efficient way to generate, manage, customize, and automate Agile-based CI and CD projects through automated pipelines. The suggested system acts as a starting point for standard CI/CD processes, caches Docker layers for subsequent usage, and implements highly available deliverables in a Kubernetes cluster using Helm. Changing the principles of this solution and expanding it into multiple platforms (windows) will be addressed in a future discussion.
最近,软件开发行业正在经历一场缓慢但真实的转型。软件越来越成为一切的一部分,软件开发人员正试图通过更多的自动化来应对这种需求的爆炸式增长。持续集成 (CI) 和持续交付 (CD) 的流水线技术由于对新功能和应用程序的部署和交付的巨大需求而得到了极大的发展。因此,DevOps 方法和敏捷原则得到了发展,开发人员与基础设施工程师密切合作,以确保他们的应用程序能够快速可靠地部署。由于流水线方法的思维,项目的效率大大提高。敏捷实践代表了在每个冲刺交付中向系统引入新功能。这些实践可能包含开发良好的功能,也可能包含影响交付的错误或故障。本文描述的流水线方法克服了交付方面的问题,改善了交付时间线、测试负载步骤和基准测试任务。它通过集成多个测试步骤减少了系统中断,并为整个过程增加了稳定性和交付能力。它提供了标准化,这意味着有一个既定的、经过时间考验的过程可以使用,并且可以减少歧义性和猜测,保证质量并提高生产力。该工具使用解释型语言 Bash 开发,这使得它更容易集成到任何平台中。根据实验结果,我们展示了该解决方案目前创造的价值。该解决方案通过自动化流水线为基于敏捷的 CI/CD 项目提供了一种有效的生成、管理、定制和自动化方法。所提出的系统充当标准 CI/CD 流程的起点,为后续使用缓存 Docker 层,并使用 Helm 在 Kubernetes 群集中实现高可用性交付。在未来的讨论中,我们将讨论改变该解决方案的原则并将其扩展到多个平台(windows)的问题。