User:Vladimir Panteleev/Website staging

From D Wiki
< User:Vladimir Panteleev
Revision as of 15:20, 12 May 2015 by Vladimir Panteleev (talk | contribs) (copy-paste from https://issues.dlang.org/show_bug.cgi?id=14427#c2)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

I think we need a staging area of sorts - a controlled environment which pulls strictly the website from git, performs a clean build, allows previewing, and only then uploads it to dlang.org.

This would solve a few issues:

- Removes requirement to install software to fully build dlang.org (e.g. kindlegen) - Removes requirement to use a Posix OS (completely building the website is currently impossible on Windows) - Removes issues due to environment (wrong/incompatible software versions, e.g. rsync) - Removes bottlenecks on Jan to resolve permission issues - Removes upload bandwidth bottleneck for slow connections - Fixes users having to upload the entire site because timestamps don't match between users' local copies

I have something like this on dlang.k3.1azy.net (same server which hosts forum.dlang.org). Andrei has access already. The workflow is:

1. If there have been some significant changes in the build infrastructure which might cause a dirty build, run: `ssh dlang@k3.1azy.net run/clean`. This will delete all intermediary files and force clean all repositories (incl. dub stuff). 2. Run `ssh dlang@k3.1azy.net run/update` 3. Browse to http://dlang.k3.1azy.net/ and make sure there are no glaring problems. 4. Run `ssh dlang@k3.1azy.net run/upload`