# \[solved\]Deployment without Git

**URL:** <https://discourse.gohugo.io/t/solved-deployment-without-git/3362>\
**Category:** support\
**Created:** [May 21, 2016, 1:16pm UTC](https://discourse.gohugo.io/t/solved-deployment-without-git/3362 "2016-05-21T13:16:19Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![bertaudmarc](https://avatars.discourse-cdn.com/v4/letter/b/ce73a5/32.png) [@bertaudmarc](https://discourse.gohugo.io/u/bertaudmarc)\
**Post date:** [May 21, 2016, 1:16pm UTC](https://discourse.gohugo.io/t/solved-deployment-without-git/3362/1 "2016-05-21T13:16:19Z")

</div>

Hello Everybody !  
As future Hugo user (I didn’t decide yet …), I have a simple question for you: how to deploy a Hugo static website to a web server (i.e Infomaniak) by NOT using Git ?  
Probably usefull but in my case I don’t see the utility of the “supplementary step” (local machine -\> git repository -\> git push -\> final host). Rsync or ftp seem me more efficient.

Thank you by advance,

---

<div class="post-metadata">

**Author:** ![phi](https://avatars.discourse-cdn.com/v4/letter/p/bcef8e/32.png) [@phi](https://discourse.gohugo.io/u/phi)\
**Post date:** [May 21, 2016, 3:06pm UTC](https://discourse.gohugo.io/t/solved-deployment-without-git/3362/2 "2016-05-21T15:06:45Z")

</div>

You can write a simple script that

1. calls `hugo`
2. calls `lftp`
3. mirrors your local `public` to your server by  
`lftp SERVER`  
`user USERNAME`  
`PASSWORD`  
`lcd /LOCAL/PATH/TO/public`  
`mirror -R --parallel=10 -n`

Assuming that `username` has the correct entry-directory after login.

The last one mirrors your local public to remote (`-R) with a maximum of 10 connections parallel and only copies files newer than the ones on your server.

---

<div class="post-metadata">

**Author:** ![bep](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/bep/32/3332_2.png) [@bep](https://discourse.gohugo.io/u/bep)\
**Post date:** [May 21, 2016, 3:44pm UTC](https://discourse.gohugo.io/t/solved-deployment-without-git/3362/3 "2016-05-21T15:44:13Z")

</div>

Lots of options, someone will chime in with their rsync script, I’m sure, but here is the tool I’m using to push some of my sites to Amazon S3:

> **[bep/s3deploy](https://github.com/bep/s3deploy)**
>
> s3deploy - A simple tool to deploy static websites to Amazon S3 with Gzip and custom headers support (e.g. "Cache-Control")

---

<div class="post-metadata">

**Author:** ![hnarayanan](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/hnarayanan/32/4547_2.png) [@hnarayanan](https://discourse.gohugo.io/u/hnarayanan)\
**Post date:** [May 22, 2016, 11:00am UTC](https://discourse.gohugo.io/t/solved-deployment-without-git/3362/4 "2016-05-22T11:00:37Z")

</div>

This isn’t so much an rsync script as it is a one line command: [https://github.com/hnarayanan/harishnarayanan.org/blob/master/Makefile#L8](https://github.com/hnarayanan/harishnarayanan.org/blob/master/Makefile#L8)  
😀

---

<div class="post-metadata">

**Author:** ![bertaudmarc](https://avatars.discourse-cdn.com/v4/letter/b/ce73a5/32.png) [@bertaudmarc](https://discourse.gohugo.io/u/bertaudmarc)\
**Post date:** [May 22, 2016, 3:35pm UTC](https://discourse.gohugo.io/t/solved-deployment-without-git/3362/5 "2016-05-22T15:35:10Z")

</div>

The answer of my question is therefore positive: thank you !

And why not to use a simple tool such as Filezilla ?

---

<div class="post-metadata">

**Author:** ![phi](https://avatars.discourse-cdn.com/v4/letter/p/bcef8e/32.png) [@phi](https://discourse.gohugo.io/u/phi)\
**Post date:** [May 22, 2016, 4:51pm UTC](https://discourse.gohugo.io/t/solved-deployment-without-git/3362/6 "2016-05-22T16:51:47Z")

</div>

I’ve used it on windows before, but now I’m versioning my website with git on a private server, every time I push, the site is build by hugo and then uploaded.

FileZilla has a GUI, it’s simple to use and nothing against it. But using scripts for doing all that upload stuff is a much faster way. Another reason for me not to use FileZilla anymore: It was buggy for me - had to re-enter my password 10-15 times for every site-upload.

---

<div class="post-metadata">

**Author:** ![bertaudmarc](https://avatars.discourse-cdn.com/v4/letter/b/ce73a5/32.png) [@bertaudmarc](https://discourse.gohugo.io/u/bertaudmarc)\
**Post date:** [May 22, 2016, 4:59pm UTC](https://discourse.gohugo.io/t/solved-deployment-without-git/3362/7 "2016-05-22T16:59:07Z")

</div>

How to declare “solved” the subject ?

---

<div class="post-metadata">

**Author:** ![phi](https://avatars.discourse-cdn.com/v4/letter/p/bcef8e/32.png) [@phi](https://discourse.gohugo.io/u/phi)\
**Post date:** [May 22, 2016, 5:01pm UTC](https://discourse.gohugo.io/t/solved-deployment-without-git/3362/8 "2016-05-22T17:01:16Z")

</div>

In the bottom-line of your first post is a little pencil - you can edit your subject and add [solved]

---

<div class="post-metadata">

**Author:** ![RickCogley](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/rickcogley/32/10269_2.png) [@RickCogley](https://discourse.gohugo.io/u/RickCogley)\
**Post date:** [May 23, 2016, 10:18am UTC](https://discourse.gohugo.io/t/solved-deployment-without-git/3362/9 "2016-05-23T10:18:04Z")

</div>

Why not an ftp client? Because rsync is much faster and you can trigger it easily using a script. Personally, I’m using rsync in zsh functions.
