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

feat(docs): improve hosting with AWS Amplify document #10906

Merged
merged 17 commits into from Jan 10, 2019
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/docs/caching.md
Expand Up @@ -33,3 +33,4 @@ How you setup your caching depends on how you host your site. We encourage peopl
The following plugins have been created:

- [gatsby-plugin-netlify](/packages/gatsby-plugin-netlify/)
- [gatsby-plugin-s3](https://github.com/jariz/gatsby-plugin-s3)
2 changes: 1 addition & 1 deletion docs/docs/deploying-and-hosting.md
Expand Up @@ -5,6 +5,6 @@ overview: true

Getting your shiny new Gatsby site onto the cloud is probably the first thing you will want to do now that it's built! Also, give yourself a pat on the back real quick for creating something new!

In this section you'll find answers to questions about dealing with app routes that aren't at the root of your domain with `path prefixes`, as well as how to deploy to countless hosting solutions such as [Netlify](https://www.netlify.com/), [Cloudfront](https://aws.amazon.com/cloudfront/), and [GitHub Pages](https://pages.github.com/). As well as what's necessary to make sure you're fully prepared for a deploy! 🚀
In this section you'll find answers to questions about dealing with app routes that aren't at the root of your domain with `path prefixes`, as well as how to deploy to countless hosting solutions such as [Netlify](https://www.netlify.com/), [AWS Amplify Console](https://console.amplify.aws), and [GitHub Pages](https://pages.github.com/). As well as what's necessary to make sure you're fully prepared for a deploy! 🚀

[[guidelist]]
34 changes: 34 additions & 0 deletions docs/docs/deploying-to-aws-amplify.md
@@ -0,0 +1,34 @@
---
title: Deploying to AWS Amplify
---

In this guide we'll walkthrough how to deploy and host your Gatsby site using the [AWS Amplify Console](https://console.amplify.aws).

AWS Amplify is a combination of client library, CLI toolchain, and a Console for continuous deployment and hosting. The Amplify CLI and library allow developers to get up & running with full-stack cloud-powered applications with features like authentication, storage, serverless GraphQL or REST APIs, analytics, Lambda functions, & more. The Amplify Console provides continuous deployment and hosting for modern web apps (single page apps and static site generators). Continuous deployment allows developers to deploy updates to their web app on every code commit to their Git repository. Hosting includes features such as globally available CDNs, easy custom domain setup + HTTPS, feature branch deployments, and password protection.

## Pre-requisites

1. [Sign up for an AWS Account](https://portal.aws.amazon.com/billing/signup?redirect_url=https%3A%2F%2Faws.amazon.com%2Fregistration-confirmation). There are no upfront charges or any term commitments to create an AWS account and signing up gives you immediate access to the AWS Free Tier

1. This guide assumes that you have setup a Gatsby project. If you need to set up a project, start with the [Gatsby Auth starter with AWS Amplify](https://github.com/dabit3/gatsby-auth-starter-aws-amplify) then come back. The starter implements a basic authentication flow for signing up signing in users as well as protected client side routing.

![Gatsby Amplify](./images/amplify-gatsby-auth.gif)

## Deployment

1. Log in to the [AWS Amplify Console](https://console.aws.amazon.com/amplify/home) and choose Get Started under Deploy.
![Gatsby Amplify2](./images/amplify-gettingstarted.png)

1. Connect a branch from your GitHub, Bitbucket, GitLab, or AWS CodeCommit repository. Connecting your repository allows Amplify to deploy updates on every code commit to a branch.
![Gatsby Amplify2](./images/amplify-connect-repo.gif)

1. Accept the default build settings. Give the Amplify Console permission to deploy backend resources with your frontend with a service role. This allows the Console to detect changes to both your backend and frontend on every code commit and make updates. If you do not have a service role follow the prompts to create one, then come back to the console and pick it from the dropdown.
![Gatsby Amplify2](./images/amplify-build-settings.gif)

1. Review your changes and then choose **Save and deploy**. The Amplify Console will pull code from your repository, build changes to the backend and frontend, and deploy your build artifacts at `https://master.unique-id.amplifyapp.com`. Bonus: Screenshots of your app on different devices to find layout issues :fire:
![Gatsby Amplify2](./images/amplify-gatsby-deploy.gif)

## References:

- [Publishing Your Next Gatsby Site to AWS With AWS Amplify](https://www.gatsbyjs.org/blog/2018-08-24-gatsby-aws-hosting/)
- If you want more control over hosting on AWS you can also [deploy your Gatsby.js Site to AWS S3](/docs/deploying-to-s3-cloudfront/).
Binary file added docs/docs/images/amplify-build-settings.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs/images/amplify-connect-repo.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs/images/amplify-gatsby-auth.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs/images/amplify-gatsby-deploy.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs/images/amplify-gettingstarted.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 5 additions & 3 deletions www/src/data/sidebars/doc-links.yaml
Expand Up @@ -22,8 +22,8 @@
items:
- title: Preparing your site for deployment*
link: /docs/preparing-for-deployment/
- title: Deploying to S3 and CloudFront
link: /docs/deploying-to-s3-cloudfront
- title: Deploying to AWS Amplify
link: /docs/deploying-to-aws-amplify
- title: Deploying to Aerobatic
link: /docs/deploying-to-aerobatic/
- title: Deploying to Heroku
Expand All @@ -32,8 +32,10 @@
link: /docs/deploying-to-now/
- title: Deploying to GitLab Pages
link: /docs/deploying-to-gitlab-pages/
- title: Hosting on Netlify
- title: Deploying to Netlify
Copy link
Contributor

Choose a reason for hiding this comment

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

if we change the title here, we would need to change it in the doc, the URL, and also create a redirect. It seems like the doc is about hosting though. Am I wrong about that?

Copy link
Contributor

Choose a reason for hiding this comment

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

@shannonbux I'm not sure there's a meaningful difference--and this seems more consistent (e.g. all deploying guides start with Deploying to-? I can revert this change, though.)

Copy link
Contributor

Choose a reason for hiding this comment

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

Oh whoops we actually do have two separate docs here.

Deploying to Netlify
Hosting on Netlify

... should we? It seems like the Hosting on Netlify document is a little more fully featured.

Copy link
Contributor

Choose a reason for hiding this comment

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

actually - let's just side step this. I'll revert this change.

link: /docs/hosting-on-netlify
- title: Deploying to S3 and CloudFront
link: /docs/deploying-to-s3-cloudfront
- title: Path Prefix
link: /docs/path-prefix/
- title: How Gatsby works with GitHub pages
Expand Down