mirror of
				https://github.com/gohugoio/hugo.git
				synced 2024-05-11 05:54:58 +00:00 
			
		
		
		
	docs: Add documentation for "hugo deploy"
This commit is contained in:
		
				
					committed by
					
						
						Bjørn Erik Pedersen
					
				
			
			
				
	
			
			
			
						parent
						
							5e83f42562
						
					
				
				
					commit
					1384d77a04
				
			
							
								
								
									
										115
									
								
								docs/content/en/hosting-and-deployment/hugo-deploy.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								docs/content/en/hosting-and-deployment/hugo-deploy.md
									
									
									
									
									
										Normal file
									
								
							@@ -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]
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user