Should your CI/CD process be implemented in a single Pipeline as Code file?
Blog post from Octopus Deploy
Pipeline as Code (PaC) emerged as a developer-friendly technique that integrates the code being developed with the scripts needed to build and test it, perfectly aligning with developers' workflows. This method ensures that PaC logic and its short-lived infrastructure are synchronized with each code commit, making it well-suited for the build and test cycles owned by developers. However, extending PaC to include deployments introduces complexities due to longer deployment timelines and the involvement of multiple teams such as QA, security, and product management. The distinction between releases and deployments is crucial, as deployments involve broader collaboration and differing timelines, which often do not align with the developer-centric, short-term focus of PaC. Therefore, while PaC can effectively handle building and testing, it may not be suitable for managing the comprehensive and varied requirements of deployment processes, suggesting that these workflows might be better managed as separate entities.