Project

Profile

Help

Task #2477

Updated by bmbouter over 6 years ago

h2. 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. 

 h2. Problem 2 

 Also that site is marked as spam (yikes) [2]. 

 h2. Solution 

 This task requires bash scripting skills and maybe some Jenkins or "Jenkins Job Builder":https://github.com/pulp/pulp_packaging/tree/master/ci/jjb experience. The latter could probably be learned along If we removed the way. 

 We will move custom domain configuration, the hosting to a dedicated openshift V2 environment just like docs.pulpproject.org is hosted. It will Pulp project site would be a separate environment because each hosting environment can only handle one site due to how we are using openshift. 

 Jenkins will build and publish hosted at 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, url pulp.github.io. Both http and push it to the openshift V2 hosting environment. 

 1. A Jenkins job builder definition that will setup the build environment. https would work and SSL would be perfectly happy. This is similar to the "docs-builder-*":https://github.com/pulp/pulp_packaging/blob/master/ci/jjb/jobs/docs.yaml job that performs a similar function for docs.pulpproject.org. would be configured as an organization pages site. 

 The first thing to do is to clone We would keep the website code in the build environment:    https://github.com/pulp/pulpproject.org/ 

 In the case of www.pulpproject.org and pulpproject.org it just needs to setup the environment similar to what is documented redirects in the "Build Locally":https://github.com/pulp/pulpproject.org/#building-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, place so it doesn't need to be a template. This should make it even simpler. 

 2. Build the environment. Build it just like you those would any Jekyll site. 

 3. Publish it continue to the openshift V2 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":https://github.com/pulp/pulp_packaging/blob/6d55ac3a9525aec5b47570aecf01c2dd1c788eec/ci/docs-builder.py#L120-L140 although work. After this is even simpler because there is only one case change users could also browse directly 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. pulp.github.io, but no matter how they arrived their browsers would read as pulp.github.io. 

 [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

Back