From e0009455ca33fdd024b06a6aae4c1ba94e994f10 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Fri, 26 Jun 2026 14:44:12 +0530 Subject: [PATCH 1/5] latest seo blog --- .optimize-cache.json | 1 + .../+page.markdoc | 143 ++++++++++++++++++ .../cover.avif | Bin 0 -> 14123 bytes 3 files changed, 144 insertions(+) create mode 100644 src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc create mode 100644 static/images/blog/what-is-cicd-a-complete-guide-for-developers/cover.avif diff --git a/.optimize-cache.json b/.optimize-cache.json index f926af4a59..942f5774fc 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -1257,6 +1257,7 @@ "static/images/blog/what-is-an-ai-backend/cover.png": "cb36f49035cbdcd97a70ac658783741f275d3a220b7cfd16b39d4fb86a929edd", "static/images/blog/what-is-cdn/cover.png": "ef77860288e150c6c22f3950a5eae4c88aefefb6db204f10c2a0544e51548703", "static/images/blog/what-is-ciam/cover.png": "45a5261ae1bb8a38777f60a21ea60426c0832e3d58bf3164100548400d388ce1", + "static/images/blog/what-is-cicd-a-complete-guide-for-developers/cover.png": "7abddce55b1467188faab83abd58189173bf9aba84de3d9f28fff0be8c6e9276", "static/images/blog/what-is-docker-a-simple-guide-for-developers/cover.png": "acd9c50ad749fcf676dd58b38cc6bbffba913bf5d817c6b725bd2c305088689e", "static/images/blog/what-is-mcp/claude-mcp-chat.png": "26842cfebca3ec2cec89448e1c0d7ddb3f5421cc57acdb8780d48d30a54cad82", "static/images/blog/what-is-mcp/claude-mcp-tools.png": "3a5ae700867b8671b5c9e3af61b094aeb64611168463db66ff440e0d427ac6bc", diff --git a/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc new file mode 100644 index 0000000000..e7ae41c252 --- /dev/null +++ b/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc @@ -0,0 +1,143 @@ +--- +layout: post +title: What is CI/CD? A complete guide for developers +description: Learn what CI/CD means, how continuous integration and delivery work, the pipeline stages, delivery vs deployment, and best practices, in this developer guide. +date: 2026-06-26 +cover: /images/blog/what-is-cicd-a-complete-guide-for-developers/cover.avif +timeToRead: 5 +author: atharva +category: devops +featured: false +unlisted: true +faqs: + - question: "What's the difference between CI and CD?" + answer: "CI (continuous integration) automates building and testing code as it's merged. CD (continuous delivery or deployment) automates releasing that tested code to production." + - question: Do I need Docker or Kubernetes for CI/CD? + answer: No, but they pair well. CI/CD works with any deployment target. Containers and orchestration simply make builds more consistent and deployments more reliable. + - question: Is CI/CD only for large teams? + answer: No. Even solo developers benefit from automated testing and deployment. You can start with a simple pipeline and expand it as your project grows. + - question: Is CI/CD the same as DevOps? + answer: No. DevOps is a broader culture and set of practices for uniting development and operations. CI/CD is a key technical practice within DevOps, but DevOps also covers monitoring, infrastructure, and collaboration. +--- +CI/CD is a set of practices that automate building, testing, and releasing software, so teams can ship changes quickly, frequently, and reliably. It stands for continuous integration and continuous delivery (or continuous deployment), and together these practices form the backbone of modern software development and DevOps. + +This guide explains what CI/CD is, what each part means, how a pipeline works, the difference between delivery and deployment, the tools that power it, and how to get started. It's written for developers who want a complete picture, not just a definition. + +# What does CI/CD stand for? + +CI/CD combines two related practices. **CI** stands for **continuous integration**, the practice of frequently merging code changes into a shared repository, where each change is automatically built and tested. **CD** stands for either **continuous delivery** or **continuous deployment**, both of which automate getting that tested code into production. + +You can think of CI/CD as an assembly line for software. Instead of manually compiling, testing, and shipping every change by hand, you build an automated line that takes code from a developer's commit and moves it through a series of checks until it's ready to release, or released automatically. The goal is to make releasing software a routine, low-risk event rather than a stressful, error-prone one. + +CI/CD grew out of the DevOps movement, which aims to break down the wall between development and operations. By automating the path from code to production, teams release faster and with more confidence. + +# Why does CI/CD matter? + +CI/CD matters because manual building, testing, and deploying is slow, inconsistent, and error-prone. Here is why teams adopt it: + +* **Faster releases.** Automation lets teams ship updates daily or even many times a day instead of every few weeks or months. +* **Fewer bugs in production.** Automated testing on every change catches problems early, when they're cheapest to fix. +* **Consistency.** The same automated process runs every time, eliminating "it worked on my machine" surprises. +* **Faster feedback.** Developers learn within minutes whether a change broke something, instead of finding out days later. +* **Less risk.** Small, frequent releases are easier to test and roll back than large, infrequent ones. + +# What is continuous integration (CI)? + +Continuous integration is the practice of merging code changes into a shared branch frequently, often several times a day, with each merge triggering an automated build and test run. The core idea is that integrating small changes often is far less painful than integrating large changes rarely. + +When a developer pushes code, a CI system automatically pulls the latest code, builds it, and runs the test suite. If anything fails, the team is notified immediately and can fix it before it spreads. This keeps the shared codebase in a working state at all times and prevents the dreaded "integration hell" of merging months of divergent work at once. + +Good CI depends on a strong automated test suite, because the tests are what give the team confidence that each change is safe. + +# What is continuous delivery and continuous deployment (CD)? + +The "CD" in CI/CD refers to two related but distinct practices. + +**Continuous delivery** means every change that passes the automated pipeline is automatically prepared and ready to release to production, but the final release is triggered manually by a human. The software is always in a deployable state, and shipping is a one-click decision. + +**Continuous deployment** goes one step further: every change that passes all automated checks is released to production automatically, with no human approval step. This requires a high degree of confidence in your automated tests, since there's no manual gate before users see the change. + +Both build on continuous integration. The difference is simply whether the final push to production is automatic or requires a human to press the button. + +# How does a CI/CD pipeline work? + +A **CI/CD pipeline** is the automated sequence of steps that code passes through on its way from commit to production. While details vary, most pipelines share the same core stages: + +1. **Source.** A developer pushes code to a repository, which triggers the pipeline. +2. **Build.** The system compiles the code and its dependencies into a runnable artifact, often a [Docker](https://www.docker.com/) container image. +3. **Test.** Automated tests run, from fast unit tests to integration and end-to-end tests, validating the change. +4. **Deploy.** The artifact is released to an environment, such as staging or production, sometimes managed by [Kubernetes](https://kubernetes.io/). + +Each stage acts as a gate: if a step fails, the pipeline stops and the team is notified, so broken code never reaches users. Many pipelines also include extra stages for security scanning, performance checks, and approvals. + +# Continuous delivery vs continuous deployment: What's the difference? + +This is the most common point of confusion in CI/CD, so it's worth being precise. Both keep your software in a constantly releasable state. The only difference is the final step to production. + +| Aspect | Continuous delivery | Continuous deployment | +| --------------------- | ------------------------------ | ----------------------------------- | +| Release to production | Manual approval | Fully automatic | +| Human gate | Yes, a person clicks deploy | No gate | +| Confidence required | High | Very high | +| Best for | Regulated or cautious releases | Fast-moving teams with strong tests | + +Many teams start with continuous delivery to keep a human in the loop, then move to continuous deployment as their test coverage and confidence grow. + +# Popular CI/CD tools + +A range of tools automate CI/CD pipelines, and most integrate directly with your code repository: + +* **GitHub Actions**, built into GitHub, defines pipelines as YAML workflows right alongside your code. +* **GitLab CI/CD**, tightly integrated with GitLab repositories. +* **Jenkins**, a long-standing open-source automation server known for its flexibility and plugins. You can learn more at [jenkins.io](https://www.jenkins.io/). +* **CircleCI** and **Travis CI**, popular cloud-based CI/CD services. + +Many of these work hand in hand with containers and orchestration, building Docker images in the pipeline and deploying them to Kubernetes or a managed platform. + +# Common CI/CD use cases + +* **Web and mobile app delivery.** Automatically test and ship application updates on every merge. +* **Microservices.** Deploy many independent services reliably without coordinating manual releases. +* **Library and package publishing.** Automatically run tests and publish new versions when code is tagged. +* **Infrastructure as code.** Apply and validate infrastructure changes through the same automated pipeline. +* **Automated quality gates.** Enforce tests, linting, and security scans before any code merges. + +# How to get started with CI/CD + +Getting started is easier than it sounds, and you can begin small. + +1. **Put your code in version control** like Git, which is the foundation everything else builds on. +2. **Write automated tests**, even a small suite, since CI is only as valuable as the tests it runs. +3. **Choose a CI/CD tool**, such as GitHub Actions if your code is already on GitHub. +4. **Create a simple pipeline** that builds your project and runs your tests on every push. +5. **Add a deployment stage** to ship to a staging environment, then production, as your confidence grows. + +A backend platform like [Appwrite](https://appwrite.io/docs) pairs well with CI/CD, giving you auth, databases, storage, and functions that your pipeline can deploy against. + +# CI/CD best practices + +* **Keep the pipeline fast** so developers get feedback in minutes, not hours. +* **Build once, deploy everywhere.** Create a single artifact and promote it through environments rather than rebuilding. +* **Automate your tests thoroughly**, since the pipeline's value depends entirely on test quality. +* **Fail fast.** Run the quickest checks first so failures surface early. +* **Keep secrets out of your pipeline config**, using a secrets manager or encrypted variables. +* **Make rollbacks easy** so you can recover instantly if a release causes problems. + +# Conclusion + +CI/CD is the practice of automating the path from code to production, combining continuous integration to build and test every change with continuous delivery or deployment to release it reliably. Understanding its core pieces, namely the integration of frequent changes, the automated pipeline stages, and the distinction between delivery and deployment, gives you the foundation to ship software faster and with far more confidence. It's one of the highest-impact habits a team can adopt, and it scales from a solo project to a large organization. The best way to learn CI/CD is to build a simple pipeline that tests your code on every push, then grow it one stage at a time. + +# Start building + +Appwrite is open-source, self-hostable, and built for developers who want to ship fast without surrendering control. Recent releases have added [MongoDB support, Appwrite 1.9.0, realtime upgrades, and new AI tooling](https://dev.to/appwrite/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling-1eg6), with [more landing every few weeks](https://dev.to/appwrite/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more-9h5). We post weekly roundups of product announcements, AI updates, and [developer insights](https://dev.to/appwrite/weekly-roundup-presences-api-git-deployment-triggers-and-ai-updates-58lj) on the [Appwrite blog](https://appwrite.io/blog) and across our developer channels, so follow along wherever you read. + +Whether you are prototyping your next idea or scaling a production app, Appwrite gives you auth, databases, storage, functions, and real-time in one place, all open-source. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) or spin up a self-hosted instance in minutes, and give your next build a real backend to grow on. + +## Resources + +* [Appwrite documentation](https://appwrite.io/docs) +* [Appwrite AI products](https://appwrite.io/docs/products/ai) +* [Appwrite integrations](https://appwrite.io/integrations) +* [Appwrite quick start guides](https://appwrite.io/docs/quick-starts) +* [Appwrite on GitHub](https://github.com/appwrite/appwrite) +* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file diff --git a/static/images/blog/what-is-cicd-a-complete-guide-for-developers/cover.avif b/static/images/blog/what-is-cicd-a-complete-guide-for-developers/cover.avif new file mode 100644 index 0000000000000000000000000000000000000000..52b6f963b841d6c9f16d72e4e71df37c2d60da21 GIT binary patch literal 14123 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 Date: Fri, 26 Jun 2026 15:09:36 +0530 Subject: [PATCH 2/5] Apply suggestion from @greptile-apps[bot] Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- .../what-is-cicd-a-complete-guide-for-developers/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc index e7ae41c252..0ed36f1bf8 100644 --- a/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc @@ -136,7 +136,7 @@ Whether you are prototyping your next idea or scaling a production app, Appwrite ## Resources * [Appwrite documentation](https://appwrite.io/docs) -* [Appwrite AI products](https://appwrite.io/docs/products/ai) +* [Appwrite Functions](https://appwrite.io/docs/products/functions) * [Appwrite integrations](https://appwrite.io/integrations) * [Appwrite quick start guides](https://appwrite.io/docs/quick-starts) * [Appwrite on GitHub](https://github.com/appwrite/appwrite) From f4910ac47c5dc8b132cd820303afd95c736ec1a5 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale Date: Fri, 26 Jun 2026 17:24:22 +0530 Subject: [PATCH 3/5] Apply suggestions from code review Co-authored-by: Atharva Deosthale --- .../+page.markdoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc index 0ed36f1bf8..6f69f988e7 100644 --- a/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc @@ -135,9 +135,9 @@ Whether you are prototyping your next idea or scaling a production app, Appwrite ## Resources -* [Appwrite documentation](https://appwrite.io/docs) -* [Appwrite Functions](https://appwrite.io/docs/products/functions) -* [Appwrite integrations](https://appwrite.io/integrations) -* [Appwrite quick start guides](https://appwrite.io/docs/quick-starts) +* [Appwrite documentation](/docs) +* [Appwrite Functions](/docs/products/functions) +* [Appwrite integrations](/integrations) +* [Appwrite quick start guides](/docs/quick-starts) * [Appwrite on GitHub](https://github.com/appwrite/appwrite) * [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file From 3bb1edd8c2d8983dacfe7dacbd56e2aa7c891b8c Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Fri, 26 Jun 2026 17:34:12 +0530 Subject: [PATCH 4/5] Update +page.markdoc --- .../+page.markdoc | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc index 6f69f988e7..e8b4a77837 100644 --- a/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc @@ -70,19 +70,6 @@ A **CI/CD pipeline** is the automated sequence of steps that code passes through Each stage acts as a gate: if a step fails, the pipeline stops and the team is notified, so broken code never reaches users. Many pipelines also include extra stages for security scanning, performance checks, and approvals. -# Continuous delivery vs continuous deployment: What's the difference? - -This is the most common point of confusion in CI/CD, so it's worth being precise. Both keep your software in a constantly releasable state. The only difference is the final step to production. - -| Aspect | Continuous delivery | Continuous deployment | -| --------------------- | ------------------------------ | ----------------------------------- | -| Release to production | Manual approval | Fully automatic | -| Human gate | Yes, a person clicks deploy | No gate | -| Confidence required | High | Very high | -| Best for | Regulated or cautious releases | Fast-moving teams with strong tests | - -Many teams start with continuous delivery to keep a human in the loop, then move to continuous deployment as their test coverage and confidence grow. - # Popular CI/CD tools A range of tools automate CI/CD pipelines, and most integrate directly with your code repository: @@ -140,4 +127,4 @@ Whether you are prototyping your next idea or scaling a production app, Appwrite * [Appwrite integrations](/integrations) * [Appwrite quick start guides](/docs/quick-starts) * [Appwrite on GitHub](https://github.com/appwrite/appwrite) -* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file +* [Join the Appwrite Discord](https://appwrite.io/discord) From 7e662f4ae4ae32a767e463133cb7b3428f12b99c Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Fri, 26 Jun 2026 18:01:54 +0530 Subject: [PATCH 5/5] Update +page.markdoc --- .../+page.markdoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc index e8b4a77837..cd19d3c57f 100644 --- a/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-cicd-a-complete-guide-for-developers/+page.markdoc @@ -116,9 +116,9 @@ CI/CD is the practice of automating the path from code to production, combining # Start building -Appwrite is open-source, self-hostable, and built for developers who want to ship fast without surrendering control. Recent releases have added [MongoDB support, Appwrite 1.9.0, realtime upgrades, and new AI tooling](https://dev.to/appwrite/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling-1eg6), with [more landing every few weeks](https://dev.to/appwrite/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more-9h5). We post weekly roundups of product announcements, AI updates, and [developer insights](https://dev.to/appwrite/weekly-roundup-presences-api-git-deployment-triggers-and-ai-updates-58lj) on the [Appwrite blog](https://appwrite.io/blog) and across our developer channels, so follow along wherever you read. +Appwrite is open-source, self-hostable, and built for developers who want to ship fast without surrendering control. -Whether you are prototyping your next idea or scaling a production app, Appwrite gives you auth, databases, storage, functions, and real-time in one place, all open-source. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) or spin up a self-hosted instance in minutes, and give your next build a real backend to grow on. +Whether you are prototyping your next idea or scaling a production app, Appwrite gives you Auth, Databases, Storage, Sites, Functions, and Realtime in one open-source platform. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) or spin up a self-hosted instance in minutes, and give your next build a real backend to grow on. ## Resources