A CI server is a service or machine that automatically builds, tests and often packages code whenever developers push changes, as part of continuous integration.
Why it matters
Running the same automated steps on every change catches broken builds and failing tests early, when they are cheapest to fix. Together with continuous delivery, the CI server can also deploy approved builds to staging and production.
Because it holds deployment credentials and runs arbitrary code, a CI server is also a security target and must be protected like production.
Example
name: ci
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm test
Every push triggers a clean environment, installs dependencies and runs the tests.
Common mistakes
- Storing secrets in the repository instead of the CI secret store.
- Ignoring flaky tests until nobody trusts a red build.
- Letting builds depend on a single, unbacked-up CI machine.
Related
Get notified when this term updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
This page is general information written by our editorial team and updated when documentation changes. Servers and providers differ, so test changes safely first. See our editorial policy and disclaimer.