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:
- 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).
- Run ssh dlang@k3.1azy.net run/update
- Browse to http://dlang.k3.1azy.net/ and make sure there are no glaring problems.
- Run ssh dlang@k3.1azy.net run/upload