Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs/glossary: Continuous deployment article, excerpt #21438

Merged
merged 8 commits into from
Feb 17, 2020
4 changes: 4 additions & 0 deletions docs/docs/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ A component can include components within it. In fact, [pages](#page) and [templ

The configuration file, `gatsby-config.js` tells Gatsby information about your website. A common option set in config is your sites metadata that can power your SEO meta tags.

### [Continuous Deployment](/docs/glossary/continuous-deployment)

Continuous deployment (CD) automates the process of releasing changes to your project. A continuous deployment workflow automatically builds and tests your project, and publishes your changes only when they pass the required tests.

### CSS

[CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) stands for Cascading Style Sheets, and it's a major part of the Web Platform with [HTML](#html) and [JavaScript](#javascript). CSS is a language for styling webpages designed to be highly backwards-compatible. As new features are rolled out to end users, [CSS parsers](https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/#CSS_parsing) can safely ignore unsupported features and enhance with the properties they do support. CSS accomplishes this with its _cascading_ design, fundamental to styling with new techniques like [CSS Grid](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_and_Progressive_Enhancement) while providing fallbacks for older browsers. Gatsby supports multiple [approaches to styling](/docs/styling/), including regular CSS files, CSS modules, and CSS-in-JS.
Expand Down
28 changes: 28 additions & 0 deletions docs/docs/glossary/continuous-deployment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: Continuous Deployment
disableTableOfContents: true
---

## What is continuous deployment?

Continuous deployment (CD) is the automation of code deployments. In a continuous deployment system, you don't push a <q>Deploy</q> button or run a `deploy` command. Instead, you build a _pipeline_ &mdash; a process that builds and releases code automatically, without human intervention.

You'll most likely use a service to create your continuous deployment pipeline. Services such as [Netlify](http://netlify.com/), [AWS Amplify](https://aws.amazon.com/amplify/), [Azure](https://azure.microsoft.com/en-us/), and [Zeit](https://zeit.co/) are popular with Gatsby users. Or you can use [Gatsby Builds](/blog/2020-01-27-announcing-gatsby-builds-and-reports/), a feature of the [Gatsby Cloud](https://www.gatsbyjs.com/) service.

A continuous deployment pipeline begins with a [Git](https://git-scm.com/) repository. Git is source control management software, and you use it to manage changes to your site's code. Most continuous deployment services require a hosted Git service such as [GitHub](https://github.com/), [GitLab](https://about.gitlab.com/), or [Bitbucket](https://bitbucket.org/).

Your continuous deployment pipeline also requires a configuration file. Gatsby Builds, for example, uses `package.json`. This configuration file contains the list of packages that your software project requires, and which tests it should run. It also ensures that your test, staging, and production environments stay in sync.

Committing a change to your Git repository triggers the build and test process. Your continuous deployment service will download and install the packages listed in your configuration file. Once that's complete, it will run your test suite.

If your changes pass the tests, they'll be published to your production environment. If any of your tests fail, the changes won't be published. Continuous deployment enables small changes from multiple developers to be deployed quickly, without breaking a site in production.

### <q>Continuous deployment</q> versus <q>continuous delivery</q>

You'll sometimes see the phrase _continuous delivery_ instead of <q>continuous deployment</q>. Continuous delivery also uses a pipeline to build and test code, but may not deploy it. Continuous deployment builds and deploys code but may not test it. In practice, these services overlap. Most services that offer continuous delivery also provide automated deployments; you probably won't use continuous deployment without tests.

## Learn more about continuous deployment

- [Preparing a Site for Deployment](/docs/preparing-for-deployment/)
- [Deploying and Hosting](/docs/deploying-and-hosting/) in the Gatsby docs
- [Announcing Gatsby Builds and Reports](/blog/2020-01-27-announcing-gatsby-builds-and-reports/)
2 changes: 2 additions & 0 deletions www/src/data/sidebars/doc-links.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -724,6 +724,8 @@
- title: Glossary
link: /docs/glossary/
items:
- title: Continuous Deployment
link: /docs/glossary/continuous-deployment
- title: GraphQL
link: /docs/glossary/graphql
- title: Headless CMS
Expand Down