A Concept of On-Demand Continuous Integration and Continuous Delivery Framework
摘要
As software development processes become increasingly complex, new software engineering practices are being explored. With the rise of popular methodologies like Agile Software Development, which requires frequent and iterative delivery of small, functional software pieces for rapid feedback, the software delivery cycle must be fast, efficient, and reliable. To support such a framework, extensive automation of software engineering processes is essential. Continuous Integration and Continuous Delivery (CI/CD) is one such critical infrastructure that is an enabler to such a process. In today’s industry, software companies are focused on delivering various solutions to meet the needs and demands of different customers, focusing on time-to-market. As a result, they must rapidly build software development infrastructures like the CI/CD to create prototypes, Proof-Of-Concepts, or even new working software. Manually building these infrastructures is time-consuming, which has prompted the exploration of a solution that enables software development infrastructures, such as CI/CD frameworks, to be automatically and rapidly provisioned on demand, customized to the specific type of software being delivered, making it a potentially unique offering. Infrastructure as Code (IaC), which uses a template-based approach, can be utilized to implement this type of solution. Orchestration technologies like Kubernetes and OpenStack Heat are some of the enablers for such solutions.