Deployment with Rclone

Deployment with Rclone

https://gohugo.io/hosting-and-deployment/deployment-with-rclone/

If you have access to your web host with SFTP/FTP/SSH/HTTP(DAV), you can use rclone to incrementally deploy your entire Hugo website.

Assumptions

  • A web host running a web server. This could be a shared hosting environment or a VPS.
  • Access to your web host with any of the protocols supported by rclone, such as SFTP.
  • A functional static website built with Hugo
  • Deploying from an Rclone compatible operating system
  • You have installed Rclone.

NB: You can remove --interactive in the commands below once you are comfortable with rclone, if you wish. Also, --gc and --minify are optional in the hugo commands below.

Getting Started

The spoiler is that you can even deploy your entire website from any compatible OS with no configuration. Using SFTP for example:

1
2
hugo --gc --minify
rclone sync --interactive --sftp-host sftp.example.com --sftp-user www-data --sftp-ask-password public/ :sftp:www/

Configure Rclone for Even Easier Usage

The easiest way is simply to run rclone config.

The Rclone docs provide an example of configuring Rclone to use SFTP.

For the next commands, we will assume you configured a remote you named hugo-www

The above ‘spoiler’ commands could become:

1
2
hugo --gc --minify
rclone sync --interactive public/ hugo-www:www/

After you issue the above commands (and respond to any prompts), check your website and you will see that it is deployed.

另请参阅

最后修改 May 22, 2023: 第一次提交 (9f24e27)