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 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.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Continuous deployment 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.
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.

This is commonly abbreviated, so I feel like it's worth adding a note from the beginning!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's change "your project" to "your software project".


### 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 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.
webinista marked this conversation as resolved.
Show resolved Hide resolved

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](https://www.gatsbyjs.org/blog/2020-01-27-announcing-gatsby-builds-and-reports/), a feature of the [Gatsby Cloud](https://www.gatsbyjs.com/) service.
webinista marked this conversation as resolved.
Show resolved Hide resolved

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](https://www.gatsbyjs.org/blog/2020-01-27-announcing-gatsby-builds-and-reports/), for example, uses `package.json`. This configuration file contains the list of packages that your project requires, and what tests it should run. It also ensures that your test, staging, and production environments stay in sync.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Your continuous deployment pipeline also requires a configuration file. [Gatsby Builds](https://www.gatsbyjs.org/blog/2020-01-27-announcing-gatsby-builds-and-reports/), for example, uses `package.json`. This configuration file contains the list of packages that your project requires, and what tests it should run. It also ensures that your test, staging, and production environments stay in sync.
Your continuous deployment pipeline also requires a configuration file. [Gatsby Builds](/blog/2020-01-27-announcing-gatsby-builds-and-reports/), for example, uses `package.json`. This configuration file contains the list of packages that your project requires, and what 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 test fail, they won't.
webinista marked this conversation as resolved.
Show resolved Hide resolved

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

You'll sometimes see the phrase _continuous delivery_ instead of <q>continuous deployment</q>. Both are abbreviated <abbr>CD</abbr>. 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