diff --git a/docs/docs/glossary.md b/docs/docs/glossary.md index 4c924a7f17075..3d031ec5687b2 100644 --- a/docs/docs/glossary.md +++ b/docs/docs/glossary.md @@ -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. diff --git a/docs/docs/glossary/continuous-deployment.md b/docs/docs/glossary/continuous-deployment.md new file mode 100644 index 0000000000000..763d19cdee9d0 --- /dev/null +++ b/docs/docs/glossary/continuous-deployment.md @@ -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 Deploy button or run a `deploy` command. Instead, you build a _pipeline_ — 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. + +### Continuous deployment versus continuous delivery + +You'll sometimes see the phrase _continuous delivery_ instead of continuous deployment. 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/) diff --git a/www/src/data/sidebars/doc-links.yaml b/www/src/data/sidebars/doc-links.yaml index a437dd6ab1606..d744f60f4938f 100644 --- a/www/src/data/sidebars/doc-links.yaml +++ b/www/src/data/sidebars/doc-links.yaml @@ -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