Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices
arXiv:1703.07019 · doi:10.1109/ACCESS.2017.2685629
Abstract
Context: Continuous practices, i.e., continuous integration, delivery, and deployment, are the software development industry practices that enable organizations to frequently and reliably release new features and products. With the increasing interest in and literature on continuous practices, it is important to systematically review and synthesize the approaches, tools, challenges, and practices reported for adopting and implementing continuous practices. Objective: This research aimed at systematically reviewing the state of the art of continuous practices to classify approaches and tools, identify challenges and practices in this regard, and identify the gaps for future research. Method: We used systematic literature review (SLR) method for reviewing the peer-reviewed papers on continuous practices published between 2004 and 1st June 2016. We applied thematic analysis method for analysing the data extracted from reviewing 69 papers selected using predefined criteria. Results: We have identified thirty approaches and associated tools, which facilitate the implementation of continuous practices in the following ways: (1) "reducing build and test time in continuous integration (CI)"; (2) "increasing visibility and awareness on build and test results in CI"; (3) "supporting (semi-) automated continuous testing"; (4) "detecting violations, flaws and faults in CI"; (5) "addressing security and scalability issues in deployment pipeline", and (6) "improving dependability and reliability of deployment process". We have also determined a list of critical factors such as "testing (effort and time)", "team awareness and transparency", "good design principles", "customer", "highly skilled and motivated team", "application domain", and "appropriate infrastructure" that should be carefully considered when introducing continuous practices in a given organization.
References in corpus (1)
Cited by in corpus (30)
- Challenges and solutions when adopting DevSecOps: A systematic review
- Developing an Underwater Network of Ocean Observation Systems with Digital Twin Prototypes -- A Field Report from the Baltic Sea
- Uncovering the Benefits and Challenges of Continuous Integration Practices
- Testing and verification of neural-network-based safety-critical control software: A systematic literature review
- Modern Code Reviews -- Survey of Literature and Practice
- Assessing test artifact quality -- A tertiary study
- Ambush from All Sides: Understanding Security Threats in Open-Source Software CI/CD Pipelines
- Spectrum-Based Log Diagnosis
- Integration of Security Standards in DevOps Pipelines: An Industry Case Study
- Machine Learning for Detecting Data Exfiltration: A Review
- Foundational Models and Federated Learning: Survey, Taxonomy, Challenges and Practical Insights
- Improving Problem Identification via Automated Log Clustering using Dimensionality Reduction
- On the Role of Software Architecture in DevOps Transformation: An Industrial Case Study
- Build Optimization: A Systematic Literature Review
- Good modelling software practices
- On the Costs and Benefits of Adopting Lifelong Learning for Software Analytics -- Empirical Study on Brown Build and Risk Prediction
- Scalable Discovery and Continuous Inventory of Personal Data at Rest in Cloud Native Systems
- The Dynamics of Software Composition Analysis
- Problems and Solutions of Continuous Deployment: A Systematic Review
- Automated System-Level Software Testing of Industrial Networked Embedded Systems
- Graph-Based Model-Agnostic Data Subsampling for Recommendation Systems
- A prototype software framework for transferable computational health economic models and its early application in youth mental health
- Software Engineering Timeline: major areas of interest and multidisciplinary trends
- Decisions in Continuous Integration and Delivery: An Exploratory Study
- An Empirical Study of Architecting for Continuous Delivery and Deployment
- Towards a Theory on Architecting for Continuous Deployment
- Towards Knowledge Organization Ecosystems
- An Empirical Study of the Evolution of GitHub Actions Workflows
- Using sequential drift detection to test the API economy
- SecDocker: Hardening the Continuous Integration Workflow