User:Vladimir Panteleev/Website staging

From D Wiki
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