Standards & governance
11 March 2025

ISO27001 – A8.29 with CI/CD pipeline – Continuous integration and continuous deployment


The security measure in Annex A8.29 of ISO 27001:2022 is entitled “Security testing in development and acceptance”.

Organizations must define and implement security testing processes throughout the development lifecycle..

The aim is to identify and correct vulnerabilities before systems or applications are deployed in production.

These tests include static and dynamic code analysis, vulnerability assessment and penetration testing.

I invite you to read the article here on DAST and SAST!

There are several ways of ensuring compliance with this requirement of the standard.

Here I’d like to present an approach that comes close to the ideal: continuous monitoring and testing of all changes.


CI/CD pipelines are essential practices in modern software development.

These processes seek to automate software development stages to improve the efficiency, quality and speed of application delivery.

pipeline – Photo by Christian Bass on Unsplash

In concrete terms?

The objective of Continuous Integration (CI) is to detect errors quickly and improve code quality by enabling frequent validations, which also facilitates collaboration between development teams.

How?

Integrate code changes quickly and regularly into a central repository and perform a series of tasks such as compiling the repository, unit and integration testing, and code analysis to detect errors as early as possible.

Continuous Delivery (CD) is an extension of Continuous Integration that automates the process of releasing validated changes to production.. In a continuous deployment environment, as soon as a modification passes all the automated tests, it is automatically deployed in the production environment, ideally without any manual intervention. This speeds up the delivery of new functionalities to end-users and improves responsiveness to customer feedback.


These practices cover several security measures defined in ISO 27001:2022, including :

  • System monitoring (ISO 27002-A8.16): The integration of metrics and logs in the pipeline enables continuous supervision of the security status of applications.
  • Software development security (ISO 27002-A8.25): Automated testing and code reviews improve early detection of vulnerabilities.
  • Secure development (ISO 27002-A8.28): Using DevSecOps enables security to be integrated right from the start of development.
  • Safety testing in development and acceptance (ISO27002 – A8.29): safety testing must be integrated into the development process from the initial design phase through to final acceptance.
  • Separation of test, development and production environments (ISO27001-A8.31): Clear separation between environments to protect critical systems and prevent unauthorized access
  • Change control (ISO 27002-A8.32): Continuous integration enables changes to source code to be securely monitored and approved.
  • Information testing (ISO 27002-A8.33): CI/CD pipelines facilitate the implementation of automated, continuous testing to guarantee the quality and security of applications before they are deployed in production.

Origin

Before the advent of CI/CD pipelines, development teams followed methods such as the waterfall model.

This linear process meant that each development phase (analysis, design, coding, testing, deployment) had to be completed before moving on to the next. This often resulted in significant delays, as late-detected errors required us to go back and correct the previous phases. Manual testing was time-consuming, and deployment was often a risky and laborious process.

The concept of continuous integration emerged in the 1990s with the rise of Agile practices and extreme programming (XP).

These approaches aimed to reduce friction between development and deployment by adopting short, iterative cycles. Later, with the evolution of cloud infrastructures and DevOps tools, continuous deployment became a natural extension of continuous integration, completing the CI/CD pipeline.

Why did we change our method?

Simply because practices were ineffective in meeting the speed and quality requirements of modern software. Teams were wasting time correcting errors, deliveries were slow, and production risks were high.

For reference – I invite you to read the book “The Phoenix Project” by Gene Kim, Kevin Behr, George Spafford.


Key definitions

  • Agile: A project management methodology that promotes flexibility, collaboration and continuous improvement. Agile is based on short work cycles called sprints, enabling teams to deliver functional product increments while adjusting their priorities according to feedback.
  • Extreme Programming (XP): A software development methodology that takes Agile principles to the next level by emphasizing practices such as Test Driven Development (TDD), frequent deliveries and constant communication with the customer. XP aims to improve code quality and ensure that customer needs are continually met.
  • DevOps: A culture and set of practices aimed at unifying software development (Dev) and IT operations (Ops). DevOps focuses on collaboration, automation and continuous monitoring to accelerate the development cycle and improve software quality while reducing time-to-production.
  • DevSecOps: An extension of DevOps that integrates security (Sec) from the earliest stages of the software development cycle. DevSecOps seeks to automate security controls and make every team member responsible for security, thereby reducing vulnerabilities and guaranteeing secure deployments.
  • Continuous Integration (CI): The practice of regularly merging code from all developers into one main branch, and running automated tests to check code quality.
  • Continuous Deployment (CD): A strategy for automatically deploying applications in production or pre-production environments once tests have been passed.

Why use a CI/CD Pipeline?

  1. Quality improvement: Automated testing detects errors earlier in the development cycle, reducing bugs in production.
  2. Time savings: Automation of tedious tasks such as testing and deployment frees up teams to concentrate on value-added activities.
  3. Faster delivery: With shorter delivery cycles, features reach users faster.
  4. Improved collaboration: CI/CD fosters a culture of shared responsibility, reducing silos between developers, testers and operators.

Integrating a CI/CD Pipeline

1. Needs Analysis Start by assessing your current needs:

  • How often should I deploy? Is there an ideal minimum frequency for effective CI/CD pipelines? For example, teams can aim for daily or weekly deployments, depending on their work pace and project complexity.
  • What are the sticking points in your current process? For example, long test cycles, code merging conflicts or deployment delays.
  • Do you have any existing CI/CD-compatible tools? For example, you might need a continuous integration tool like Jenkins or GitHub Actions, a version management platform like Git, and automated testing frameworks like Selenium or Cypress.

2. Choice of Tools For small and medium-sized businesses, it’s crucial to opt for simple, affordable tools. Here are a few suggestions:

  • CI/CD Tools: Jenkins, GitHub Actions, GitLab CI/CD or CircleCI.
  • Version Control: Git.
  • Test management: Selenium, Jest or Cypress.

Other tools:

  • Concourse: This is an open-source tool for building CI and CD mechanisms.
  • GoCD: Used for modeling and visualization.
  • Screwdriver This is a construction platform for the CD.
  • Spinnaker: This is a CD platform used to build a multi-cloud environment.

3. Pipeline installation

  • Configuring Continuous Integration:
  • Install a CI tool to automate compilation and testing.
  • Set up automatic builds for each code change in the repository.
  • Adding Automated Tests:
  • Implement unit and functional tests to validate the application’s behavior.
  • Continuous Deployment configuration:
  • Automate deployment in a staging or production environment with scripts and tools like Docker or Kubernetes.

4. Training and Adoption Make sure your team understands the new practices. Organize training sessions to make employees aware of the benefits and effective use of CI/CD pipelines. Here are the concepts and practices the team needs to master:

  • The basics of CI/CD pipelines: Understanding key steps such as continuous integration, automated testing and continuous deployment.
  • Specific tools: Training in the use of selected tools (Jenkins, GitHub Actions, Docker, etc.).
  • Good development practices: unit testing, clean code, code reviews.
  • DevOps culture: collaboration, shared responsibility and continuous improvement.
  • Security in development: integrating DevSecOps principles right from the start.
  • Monitoring and metrics processes: Performance monitoring and incident management.

5. Monitoring and Continuous Improvement

  • Set up metrics to monitor pipeline performance. For example, you could track indicators such as Mean Time to Build, Build Success Rate, Mean Time to Deploy, Rollback Rate and Mean Time to Recovery.
  • Regularly review processes to identify areas for improvement.

By automating the key stages of software development, companies can deliver better quality products, faster and with less stress for their teams. With careful planning and the right tools, even small organizations can reap the full benefits of CI/CD.


Success Criteria

Once your CI/CD pipeline has been implemented, several indicators can help you assess its effectiveness and confirm that the implementation has been successful. Here are a few key criteria:

  • Release frequency: More frequent, smooth deployment indicates good pipeline adoption.
  • Stability and reliability: A reduction in deployment failures and post-production incidents is evidence of improved quality.
  • Traceability of changes: Each update is documented by a ticket, ensuring transparency and compliance with best practices.
  • Mean Time To Resolution (MTTR): Improved speed of error detection and correction thanks to automated logs and alerts.
  • Build success rate: Fewer build failures reflect better code quality and a good integration process.
  • Team commitment: Developers and operators understand and use the pipeline effectively, and are able to identify and correct errors quickly.
  • Integrated security: automated scans (SAST/DAST) detect and correct vulnerabilities before they go into production.
  • Monitoring and alerts: An efficient monitoring system is in place to track performance and detect anomalies in real time.

If these elements are visible in your environment, you can consider that your CI/CD pipeline is well in place and bringing real value to your organization.



I invite you to click on “Follow” to continue learning more about the field of information security.

Patrick Boucher
President and founder
25+ years of experience in security, ethical hacking, business continuity
Contact us

Sticky Services form

Want to work with us?

Tell us about your challenges. We’ll quickly see if we’re the right team for you.