Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorRobert van Gent <rvangent@google.com>2019-05-30 23:29:06 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-05-31 23:08:12 +0300
commit1384d77a04d7027d719993c6f54f892b5e7974db (patch)
treebbdd0ce5896719edb0125471de1239954d6c6345 /docs
parent5e83f4256279149879a8e88cb02679dd00e8da2b (diff)
docs: Add documentation for "hugo deploy"
Diffstat (limited to 'docs')
-rw-r--r--docs/content/en/hosting-and-deployment/hugo-deploy.md115
1 files changed, 115 insertions, 0 deletions
diff --git a/docs/content/en/hosting-and-deployment/hugo-deploy.md b/docs/content/en/hosting-and-deployment/hugo-deploy.md
new file mode 100644
index 000000000..07234164d
--- /dev/null
+++ b/docs/content/en/hosting-and-deployment/hugo-deploy.md
@@ -0,0 +1,115 @@
+---
+title: Hugo Deploy
+linktitle: Hugo Deploy
+description: You can upload your site to GCS, S3, or Azure using the Hugo CLI.
+date: 2019-05-30
+publishdate: 2019-05-30
+lastmod: 2019-05-30
+categories: [hosting and deployment]
+keywords: [s3,gcs,azure,hosting,deployment]
+authors: [Robert van Gent]
+menu:
+ docs:
+ parent: "hosting-and-deployment"
+ weight: 10
+weight: 10
+sections_weight: 10
+draft: false
+aliases: []
+toc: true
+---
+
+You can use the "hugo deploy" command to upload your site directly to a Google Compute Storage (GCS) bucket, an AWS S3 bucket, and/or an Azure Storage bucket.
+
+## Assumptions
+
+* You have completed the [Quick Start][] or have a Hugo website you are ready to deploy and share with the world.
+* You have an account with the service provider ([Google Cloud][], [AWS][], or [Azure][]) that you want to deploy to.
+* You have authenticated locally.
+ * Google Cloud: [Install the CLI](https://cloud.google.com/sdk) and run [`gcloud auth login`](https://cloud.google.com/sdk/gcloud/reference/auth/login).
+ * AWS: [Install the CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) and run [`aws configure`](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).
+ * Azure: [Install the CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) and run [`az login`](https://docs.microsoft.com/en-us/cli/azure/authenticate-azure-cli).
+
+## Create a bucket to deploy to
+
+Create a storage bucket to deploy your site to. If you want your site to be
+public, be sure to configure the bucket to be publicly readable.
+
+### Google Cloud Storage (GCS)
+
+Follow the [GCS instructions for how to create a bucket](https://cloud.google.com/storage/docs/creating-buckets).
+
+### AWS S3
+
+Follow the [AWS instructions for how to create a bucket](https://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html).
+
+### Azure Storage
+
+Follow the [Azure instructions for how to create a bucket](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal).
+
+## Configure the deployment
+
+In the configuration file for your site, add a `[deployment]` section with one
+or more `[[deployment.targets]]` section, one for each deployment target. Here's
+a detailed example:
+
+```
+[deployment]
+# By default, files are uploaded in an arbitrary order.
+# Files that match the regular expressions in the "Order" list
+# will be uploaded first, in the listed order.
+Order = [".jpg$", ".gif$"]
+
+
+[[deployment.targets]]
+# An arbitrary name for this target.
+Name = "mydeployment"
+# The Go Cloud Development Kit URL to deploy to. Examples:
+ # URL = "gs://<Bucket Name>" # For GCS; see https://gocloud.dev/howto/blob/open-bucket/#gcs.
+ # URL = "s3://<Bucket Name>?region=<AWS region>" # For S3; see https://gocloud.dev/howto/blob/open-bucket/#s3.
+ # URL = "azblob://$web" # For Azure Storage; see https://gocloud.dev/howto/blob/open-bucket/#azure.
+# You can use a "prefix=" query parameter to target a subfolder of the bucket:
+ # URL = "gs://<Bucket Name>?prefix=a/subfolder/"
+# If you are using a CloudFront CDN, deploy will invalidate the cache as needed.
+CloudFrontDistributionID = <ID>
+
+
+# ... add more [[deployment.targets]] sections ...
+
+
+# [[deployment.matchers]] configure behavior for files that match the Pattern.
+# Samples:
+
+[[deployment.matchers]]
+# Cache static assets for 20 years.
+Pattern = "^.+\\.(js|css|svg|ttf)$"
+Cache-Control = "max-age=630720000, no-transform, public"
+gzip = true
+
+[[deployment.matchers]]
+Pattern = "^.+\\.(png|jpg)$"
+Cache-Control = "max-age=630720000, no-transform, public"
+gzip = false
+
+[[deployment.matchers]]
+Pattern = "^.+\\.(html|xml|json)$"
+gzip = true
+```
+
+## Deploy
+
+To deploy to a target:
+```
+hugo deploy --target=<target>
+```
+
+Hugo will identify any local changes that need to be uploaded, and ask for
+confirmation before doing anything.
+
+See `hugo help deploy` for more command-line options.
+
+[Quick Start]: /getting-started/quick-start/
+[Google Cloud]: [https://cloud.google.com]
+[AWS]: [https://aws.amazon.com]
+[Azure]: [https://azure.microsoft.com]
+