Task #2477
closedGithub Pages is causing SSL issues and is being marked as spam
0%
Description
Problem 1¶
The project homepage is hosted by Github Pages[0] and uses the custom domain pulpproject.org. Github Pages does not support SSL with custom domains[1], but it does support SSL with default domains. SSL is still on which is worse because currently when you browse to https://pulpproject.org/ it looks scary.
Problem 2¶
Also that site is marked as spam (yikes) [2].
Solution¶
This task requires bash scripting skills and maybe some Jenkins or Jenkins Job Builder experience. The latter could probably be learned along the way.
We will move the hosting to a dedicated hosted VM just like docs.pulpproject.org is hosted. Ultimately this should serve both the docs and homepage websites, but for now this will just the the main website.
Jenkins will build and publish the site nightly similar to how the docs.pulpproject.org are built on Jenkins. To get this going we need a new Jenkins job defined. The Jenkins job needs to do three things: setup the build environment, build the website, and push it to the the hosted environment.
1. A Jenkins job builder definition that will setup the build environment. This is similar to the docs-builder-* job that performs a similar function for docs.pulpproject.org.
The first thing to do is to clone the website code in the build environment: https://github.com/pulp/pulpproject.org/
In the case of pulpproject.org it just needs to setup the environment similar to what is documented in the Build Locally section. Unlike the docs-builder-* which has to be a template to manage a builder for each x.y version of Pulp, this job can be exactly one job since we have exactly one website, so it doesn't need to be a template. This should make it even simpler.
2. Build the environment. Build it just like you would any Jekyll site.
3. Publish it to the hosted environment that a core dev will create. This should be done with rsync and the -delete option so that old pages are always overwritten. You can see the docs.pulpproject.org doing that here although this is even simpler because there is only one case to handle instead of multiple like the docs builder needs to handle. Just rsync and overwrite from the root of the site everytime.
After JJB is building and publishing content a core dev can take the site live by handling DNS updates.
[0]: https://pages.github.com/
[1]: https://github.com/isaacs/github/issues/156
[2]: https://www.redhat.com/archives/pulp-list/2017-July/msg00016.html