Urgent.News

What's breaking now, across thousands of outlets.

Tech

Audit-Ready CI/CD: What Regulated Industries Teach Us About Shipping Software

In many startups, a release is a merge and a deploy button. In a regulated industry like banking, every release must also answer a set of questions, often months later, from an auditor: Who approved this change? What exactly was deployed? Was it tested , and where is the evidence? Could anyone have bypassed the process? For years, many teams answered these questions with spreadsheets, screenshots…

In regulated industries such as banking, every software release requires extensive documentation from auditors regarding who approved the change, what was deployed, whether it was adequately tested, and how evidence proves that processes were followed. Traditionally, teams in these sectors would rely on spreadsheets, screenshots, and manually filled out change-request forms, which proved to be both slow and prone to errors.

My experience working in QA and DevOps within regulated environments led me to believe that a well-designed Continuous Integration/Continuous Deployment (CI/CD) pipeline serves as an excellent compliance tool, benefiting all types of teams, not just those in regulated industries.

The key principles underpinning an audit-ready CI/CD pipeline include the following:

1. The pipeline represents the sole pathway to production. Engineers cannot deploy software from their personal computers; instead, production credentials must reside solely within the CI/CD system, and direct pushes to the main branch must be prevented. Every change, including configuration and infrastructure, must pass through the same pipeline, thereby creating a comprehensive historical record of production modifications.

2. Separation of duties, enforced through technology, is another critical control. Just as the person writing a change should not be the sole approver, modern tools can enforce this requirement, preventing authors from approving their own changes. Protected deployment environments should necessitate multiple approvers for production, and access to modify pipeline definitions should be restricted to minimize the risk of unauthorized alterations.

3. Instead of collecting evidence post-release, the emphasis should be on generating evidence automatically during each pipeline run. For each release, the pipeline should automatically produce and store evidence such as linked tickets or change requests, commit messages or pull request metadata, reviewer and approver identities, pull request and environment approvals, test results, coverage data, security scan outcomes, dependency and container scan reports, deployment artifacts, image digests or checksums, deployment times, and target platforms.

This allows auditors to simply export a record rather than attempting to reconstruct historical data from memory.

4. Immutable, traceable artifacts are essential. Rather than stating "We deployed version 2.3," a more informative approach would be "We deployed version 2.3 using this specific commit." This ensures that the build was consistent, was rebuilt only in the same environment, and maintains a clear chain from the original commit through testing and deployment.

5. Quality gates, which include automated tests, coverage thresholds, and security scans, serve as controls in a regulated environment. These gates, defined in code and versioned, offer more reliability than manual checklists. Should any gate need to be bypassed in an emergency, it should require additional approval and thorough logging and review thereafter.

These principles are not exclusive to regulated sectors; they offer numerous benefits to any organization. Implementing such practices enables faster incident investigations, safer releases through consistent checks, and simplifies onboarding for new team members who can understand the process through code rather than relying on informal knowledge.

Additionally, adopting these measures can provide a head start in situations where external audits or certifications are required, as the process is already documented and automated within the pipeline. Ultimately, while compliance may sometimes appear to hinder speed, in reality, automating these requirements into the CI/CD pipeline streamlines workflows, enhances confidence, and allows for more frequent and confident software deployments.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Node.js Uptime Health Monitoring API Explained (with Rollback-Safe Status Evidence)

TL;DR: A green Node.js status response is not enough evidence for a safe customer-support rollback. Keep app and job health as logs and metrics, preserve the release and request identifiers that let…

  • Health monitoring API should include release ID, operation name, outcome, timestamp, and request ID.
  • Separate heartbeat service detects stopped reporting of scheduled work.
  • Dead-man's switch ensures absence is observed by another system.

6 Practical Ways to Fix Flaky Tests in Your CI Pipeline

A flaky test passes sometimes and fails sometimes, with no change to the code. One flaky test is an annoyance. Twenty of them destroy trust in your pipeline: developers start clicking "re-run" by…

  • Identify flaky tests by running suite multiple times and tracking results
  • Replace fixed sleep with explicit waits for user interface/API interactions
  • Ensure tests are independent by creating isolated data and cleanup after each test

Scrape Etsy search results sorted by price: 10 rows for $0.065

Disclosure: I publish and maintain the Actor used here ( publicrecords/etsy-search-scraper on Apify Store). This is the publisher account.

  • Publicrecords/etsy-search-scraper actor used to scrape Etsy search results
  • Retrieved 10 cheapest ceramic mug listings priced between $10-$40
  • Total run cost $0.065, with each listing row costing $0.006

More from Monday 5 October →