User:Vladimir Panteleev/Website staging
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`