CI/CD pipeline
A CI/CD pipeline is the automated sequence that builds, tests and deploys every code change on its way from a commit to production.
CI stands for continuous integration. Developers merge small changes into a shared branch often, and each merge is built and tested automatically. CD stands for continuous delivery or continuous deployment. Both terms describe what happens after the tests pass, and they differ in one point that is explained below.
A typical frontend pipeline has these stages:
- Install dependencies and run lint.
- Run unit tests.
- Build the production bundle.
- Run end-to-end tests against the build.
- Publish the versioned artifact.
- Deploy to an environment and run smoke tests.
Example
A developer opens a pull request that changes the orders remote. The pipeline runs lint, tests and a build for that project only, and posts a preview URL. After the merge, the same pipeline publishes the build to a versioned folder and updates the staging manifest. Promotion to production is a single approval that updates the production manifest.
Common misunderstanding
Having a pipeline tool does not mean a team practices continuous integration. If branches live for weeks and are merged in large batches, the integration is still late and painful, whatever the tool does.
The second confusion is between delivery and deployment. Under continuous delivery, every commit that passes the pipeline is ready for release, and a person may still decide when to release it. Under continuous deployment, every passing commit is released automatically.
In a micro-frontend platform, each remote needs its own pipeline. The platform also needs common checks that run in all of them, such as shared dependency versions and contract tests. The micro-frontends page covers that setup.
Why it matters. An incremental migration means many small releases, which is only practical with an automated pipeline. In a micro-frontend platform, independent pipelines are what make independent deployment real.
Related terms
Planning a migration or a micro-frontend platform?
In a 20-minute call you describe your situation and I tell you how I'd approach it. If it isn't worth doing yet, I'll say so.
Message me on LinkedIn