Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deploying from hugo? #1543

Closed
arschles opened this issue Nov 3, 2015 · 16 comments
Closed

deploying from hugo? #1543

arschles opened this issue Nov 3, 2015 · 16 comments

Comments

@arschles
Copy link

arschles commented Nov 3, 2015

Wondering if there's something like a hugo deploy command that can generate and deploy a site to somewhere (Amazon S3, Heroku, Google Cloud Storage, ....)?

If not, I'd like to propose one. I'm happy to write a more complete proposal and start/contribute to the effort.

Looking forward to hearing back.

@PhiLhoSoft
Copy link

I have asked myself the same question when I looked at Hugo.
I found the thread http://discuss.gohugo.io/t/deployment-workflow/90 which can be relevant.
I was surprised to see deployment isn't built in Hugo, because I found relevant commands or plugins in tools like Hexo for example.
Support for FTP seems important, among other things: cheap / free hosts doesn't support SSH or RSync, etc.

@bep
Copy link
Member

bep commented Nov 5, 2015

I was surprised to see deployment isn't built in Hugo

I'm surprised by your surprise.

It would be nice if Hugo had some support in this department -- but I also believe in the Unix mindset: Do one thing and to it good! There are lots of tools doing deployment very well, and probably a better job than Hugo would ever do. Hugo's deployment story may even be slightly better than some of the others; the simple static binary means that doing automated deployment with Docker, Wercker et. al. is fairly straight forward.

@PhiLhoSoft
Copy link

Well, sure RSync and such are nice, but as said we are sometime stuck with FTP.
If the deployment was built in the tool, since it knows which files has changed (it does? Hugo does incremental builds or rebuilds everything every time?), it would be able to upload only the needed files.

@bep
Copy link
Member

bep commented Nov 5, 2015

it would be able to upload only the needed files.

No, Hugo builds everything -- there are no incremental builds.

@PhiLhoSoft
Copy link

OK, I suppose it is fast enough to allow this... And then, the smart deployment idea falls apart, making the need for an automation less compelling, indeed.
Thanks.

@abhi1010
Copy link
Contributor

abhi1010 commented Nov 6, 2015

What kind of use case scenario are you looking at for deployment?

There are tons of blog articles for hugo that may help you further.

On Fri, Nov 6, 2015 at 3:26 PM, Philippe Lhoste notifications@github.com
wrote:

OK, I suppose it is fast enough to allow this... And then, the smart
deployment idea falls apart, making the need for an automation less
compelling, indeed.
Thanks.


Reply to this email directly or view it on GitHub
#1543 (comment).

@bep bep added the Enhancement label Nov 6, 2015
@arschles
Copy link
Author

arschles commented Nov 7, 2015

I'm thinking of uploading the public folder to s3 or google cloud storage. right now, I upload to gcs using the standard gsutil tool and that's all fine - no real complaints there. I'm more curious at this point if deployment is something that the core contributors have considered / are interested in

@mindok
Copy link

mindok commented Dec 29, 2015

Hi all - I just wrote a simple ftp deployment tool https://github.com/mindok/hugodeploy. It keeps a local copy of what has been deployed already and does a binary compare of hugo generated files with this local copy in order to avoid resending unchanged content (images, js etc). The paint is still drying on it (it's less than a week since coding began) and there are a couple of minor issues to tidy up (e.g. setting ftp directory to deploy to - see issues), but hopefully it works for the scenario @PhiLhoSoft refers to.

There's a little bit of work to have alternate deployment targets as per @arschles request but it is architected to allow this. It's designed to minimise transfer times - those of us not based in the US do have to consider this...

Any suggestions welcome.

@PhiLhoSoft
Copy link

@mindok Well done!
I moved to Hexo, not (only) for deployment but (mostly) because I needed a more flexible Markdown parser (accepting newline as br mark). And because I can hack JS, not Go.
But it is still good to see new tools added to interesting frameworks.

@stuartweir
Copy link

For Digital Ocean, they have https://godoc.org/github.com/digitalocean/godo, which (from my understanding of the API), allows you to interact with your droplets/etc using this package. Could definitely be useful for Hugo deploys to DO.

@elidourado
Copy link

How about a hugo deploy command that simply executes deploy.sh in the project's root directory if the file exists?

@moorereason
Copy link
Contributor

@elidourado, that's what shells are for. 👎

@nathany
Copy link
Contributor

nathany commented Apr 19, 2016

Right now I use s3up, a tool I wrote that fetches md5 hashes from s3 and updates/deletes any necessary files. I run it from CI using configs in hugo-deploy.

IMO, using an object store and CDN like S3+CloudFront or GCS is the simplest and least likely to go down. It's not what everyone wants, but a good default for the less technical.

Whether integrated, a plugin (separate process), or a sanctioned standalone tool, I quite like the idea of providing some de facto standard deployment options.

@bep
Copy link
Member

bep commented Jul 1, 2017

This issue has been automatically marked as stale because it has not been commented on for at least six months.

The resources of the Hugo team are limited, and so we are asking for your help.

If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open.

If this is a feature request, and you feel that it is still relevant and valuable, please tell us why.

This issue will automatically be closed in the near future if no further activity occurs. Thank you for all your contributions.

@bep bep added the Stale label Jul 1, 2017
@bep bep closed this as completed Sep 22, 2017
@vladcodeimpaler
Copy link

I wrote this little script because I couldn't find a good solution. Not ideal because it uses ssh and sftp, but it does the trick well: http://blog.codeimpaler.com/2019/07/publish-hugo-blog-ftp-windows-batch-file.html

bep added a commit that referenced this issue Oct 31, 2021
39a7fac34 Add .hugo_build.lock to .gitignore
920c716a4 fix a typo: to -> two (#1545)
6f0ba9593 Remove godocref from front matter (#1543)
8ec3d5948 remove link to wercker (#1544)
b56008719 Delete deployment-with-wercker.md (#1542)
e33d29b02 Fix broken links (#1538)
29e9d4c21 Sort commenting systems (#1541)
0b7ea60a7 Delete the news page "HTTP/2 Server Push in Hugo"
6e1515857 Fix quick-start.md (#1525)
62168ab35 Update comments.md (#1535)
d92191512 Small typo (#1539)
129c8834a Correct the PostCSS noMap default value (#1534)
6a5b29fcc Add example to index function (#1536)
e3dd8c507 Update output-formats.md
0c9321ca0 Remove reference to using LiveReload in production environment
4072d6776 Mod testing
09fabf7d6 Fix typo (#1524)
2fce813c8 Fix grammatical error in quick-start.md (#1523)
45230ab4a Hugo Mod testing
2dd4cd9e7 Update index.md
2c3ed62fd netlify: Bump to 0.88.1
648e2a007 Merge branch 'tempv0.88.1'
f216eade1 releaser: Add release notes to /docs for release of 0.88.1
8a7b64d4b Fix typographical errors in 0.88.0 release notes
a4bf86300 Release 0.88
738bb8f38 releaser: Add release notes to /docs for release of 0.88.0
8fcf2c55d highlight: Remove some pygments references
f2b173de2 HTTPS link
c88881c8e Adding link to nginx documentation
6b0a74fe0 Fix typos in docs (#1516)
498b8f0f1 Fix typos in time.Format (#1515)
28723fad6 Fix taxonomy and term examples (#1514)
3ffd00e12 Update front-matter.md
7cc1da82e Fix grammar in 0.86.1 release notes (#1510)
0009c51c3 Update docs helper
7e2f430f4 Update index.md
7857eae7e releaser: Add release notes to /docs for release of 0.87.0
1f08b684b releaser: Add release notes to /docs for release of 0.87.0
36a9e701c docs: Adjust config docs
0f588438e docs: Regen CLI docs
1b4682cd8 docs: Regen docs helper
bc8bbaae9 Merge commit 'bd77f6e1c99e04a476f0b1bb4e44569134e02399' into release-0.87.0
6f2480643 docs: Adjust time zone docs

git-subtree-dir: docs
git-subtree-split: 39a7fac343c289906db644c96079fdcc0298582f
@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 15, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests