Common approaches to implementing software delivery pipelines include hand-written scripts, domain-specific languages (DSLs), and the integration of specialized tools, each of which has been developed to automate one or more stages of these pipelines. However, each application is often treated as a proverbial snowflake – different from all other applications, even those within the same organization, or those using the same technology stack. Such pipelines are often technology-specific, making them time-consuming to change should the need arise. This paper describes SPaaS, an extensible DSL- and template-based pipeline generator, capable of producing software delivery pipelines for Jenkins. This paper examines how such generated pipelines can embody, facilitate, and enforce an organization’s technical and governance policies, while also enabling product teams to inject specialized activities during pipeline execution. A preliminary proof-of-concept called SPaaS, is described and the advantages, disadvantages, and some inherent technical challenges of the overall approach are discussed.
CITATION STYLE
Jones, C. (2019). Using code generation to enforce uniformity in software delivery pipelines. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 11350 LNCS, pp. 155–168). Springer Verlag. https://doi.org/10.1007/978-3-030-06019-0_12
Mendeley helps you to discover research relevant for your work.