← Blog

How to Build a Website Monitoring Pipeline in CI/CD

2 min read
#ci/cd#devops#monitoring#automation

Integrating website health checks into your CI/CD pipeline is the best way to catch regressions before they reach your users. In this guide, we'll show you how to use the UpMonitor CLI to automate SSL, DNS, and performance audits in your deployment workflow.

Manual testing is slow and prone to error. Automation ensures every deployment meets your high standards for security and performance.

Why Pre-Deployment Audits Matter

Most outages aren't caused by server hardware failure - they're caused by human error during deployment.

  • Missing Headers: Forgetting to add security headers in a new Nginx config.
  • SSL Misconfiguration: Accidentally breaking the certificate chain.
  • Performance Regressions: A new script or database query that doubles your TTFB.
  • Redirect Loops: Circular logic in your router or load balancer.

By running an automated audit during or immediately after deployment, you can catch these issues in seconds.

Using the UpMonitor CLI

The UpMonitor CLI is a lightweight, zero-config tool designed for developers.

Installation

You don't even need to install it. You can run it directly via npx:

npx @upmonitor/cli check https://example.com

Key Commands

  • check <url>: Runs a full diagnostic audit.
  • --checks <list>: Run specific checks (e.g., ssl,headers).
  • --ci: Optimizes output for CI/CD logs.
  • --fail-on <level>: Exit with non-zero code on warning or failure.

CI/CD Examples

GitHub Actions

Add a step to your .github/workflows/deploy.yml:

- name: Post-Deployment Audit
  run: npx @upmonitor/cli check https://yoursite.com --ci --fail-on failure

GitLab CI

Add a job to your .gitlab-ci.yml:

audit:
  stage: post-deploy
  script:
    - npx @upmonitor/cli check https://yoursite.com --ci --fail-on failure

What Checks Should You Run?

For a standard production site, we recommend running these four checks on every commit:

  1. SSL: Verify the certificate is valid and the chain is complete.
  2. Security Headers: Ensure HSTS and CSP are correctly set.
  3. HTTP Status: Confirm the homepage returns a 200 OK.
  4. Performance: Alert if TTFB exceeds 500ms.

Conclusion

A monitoring pipeline is your first line of defense against "silent failures" that don't crash your server but do ruin your user experience.

Get started with the UpMonitor CLI →

Start with a single probe

Every pipeline begins with one check. Run an HTTP status probe to capture the baseline you will automate.