diff options
Diffstat (limited to 'docs/content/en/hosting-and-deployment/deployment-with-rsync.md')
-rw-r--r-- | docs/content/en/hosting-and-deployment/deployment-with-rsync.md | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/docs/content/en/hosting-and-deployment/deployment-with-rsync.md b/docs/content/en/hosting-and-deployment/deployment-with-rsync.md index ad59b71f1..dec0556cf 100644 --- a/docs/content/en/hosting-and-deployment/deployment-with-rsync.md +++ b/docs/content/en/hosting-and-deployment/deployment-with-rsync.md @@ -27,7 +27,7 @@ notesforauthors: The spoiler is that you can deploy your entire website with a command that looks like the following: -``` +```txt hugo && rsync -avz --delete public/ www-data@ftp.topologix.fr:~/www/ ``` @@ -45,13 +45,13 @@ sudo apt-get install openssh-client Then generate your ssh key. First, create the `.ssh` directory in your home directory if it doesn't exist: -``` +```txt ~$ cd && mkdir .ssh & cd .ssh ``` Next, execute this command to generate a new keypair called `rsa_id`: -``` +```txt ~/.ssh/$ ssh-keygen -t rsa -q -C "For SSH" -f rsa_id ``` @@ -59,7 +59,7 @@ You'll be prompted for a passphrase, which is an extra layer of protection. Ente To make logging in easier, add a definition for your web host to the file `~/.ssh/config` with the following command, replacing `HOST` with the IP address or hostname of your web host, and `USER` with the username you use to log in to your web host when transferring files: -``` +```txt ~/.ssh/$ cat >> config <<EOF Host HOST Hostname HOST @@ -71,13 +71,13 @@ EOF Then copy your ssh public key to the remote server with the `ssh-copy-id` command: -``` +```txt ~/.ssh/$ ssh-copy-id -i rsa_id.pub USER@HOST.com ``` Now you can easily connect to the remote server: -``` +```txt ~$ ssh user@host Enter passphrase for key '/home/mylogin/.ssh/rsa_id': ``` @@ -88,40 +88,40 @@ Now that you can log in with your SSH key, let's create a script to automate dep Create a new script called `deploy` the root of your Hugo tree: -``` +```txt ~/websites/topologix.fr$ editor deploy ``` Add the following content. Replace the `USER`, `HOST`, and `DIR` values with your own values: -``` +```bash #!/bin/sh USER=my-user HOST=my-server.com DIR=my/directory/to/topologix.fr/ # the directory where your web site files should go -hugo && rsync -avz --delete public/ ${USER}@${HOST}:~/${DIR} +hugo && rsync -avz --delete public/ ${USER}@${HOST}:~/${DIR} # this will delete everything on the server that's not in the local public folder exit 0 ``` -Note that `DIR` is the relative path from the remote user's home. If you have to specify a full path (for instance `/var/www/mysite/`) you must change `~/${DIR}` to `${DIR}` inside the command line. For most cases you should not have to. +Note that `DIR` is the relative path from the remote user's home. If you have to specify a full path (for instance `/var/www/mysite/`) you must change `~/${DIR}` to `${DIR}` inside the command-line. For most cases you should not have to. Save and close, and make the `deploy` file executable: -``` +```txt ~/websites/topologix.fr$ chmod +x deploy ``` Now you only have to enter the following command to deploy and update your website: -``` +```txt ~/websites/topologix.fr$ ./deploy ``` Your site builds and deploys: -``` +```txt Started building sites ... Built site for language en: 0 draft content |