[FOLIO-832] Build and deploy dev website via CI Created: 13/Sep/17 Updated: 12/Nov/18 Resolved: 09/Feb/18 |
|
| Status: | Closed |
| Project: | FOLIO |
| Components: | None |
| Affects versions: | None |
| Fix versions: | None |
| Type: | Umbrella | Priority: | P3 |
| Reporter: | David Crossley | Assignee: | Peter Murray |
| Resolution: | Done | Votes: | 0 |
| Labels: | ci, devweb | ||
| Σ Remaining Estimate: | Not Specified | Remaining Estimate: | Not Specified |
| Σ Time Spent: | 4 days, 2 hours, 55 minutes | Time Spent: | 3 days, 2 hours, 15 minutes |
| Σ Original Estimate: | Not Specified | Original estimate: | Not Specified |
| Issue links: |
|
||||||||||||||||||||||||||||
| Sub-tasks: |
|
||||||||||||||||||||||||||||
| Sprint: | |||||||||||||||||||||||||||||
| Description |
|
Currently we use GitHub "Organization Pages site" to automatically build and publish the dev.folio.org site. This method has some limitations. The set of themes available with github-pages does not meet our needs. Cannot use HTTPS. Can only publish the master branch. Later we may need some special plugins. Consider using our own CI to build with Jekyll, and deploy to our own server. |
| Comments |
| Comment by David Crossley [ 13/Sep/17 ] |
|
Some deployment methods for Jekyll-built sites. |
| Comment by David Crossley [ 13/Sep/17 ] |
|
Need to also consider our "curriculum" repository which is a separate Jekyll-built site. |
| Comment by David Crossley [ 15/Nov/17 ] |
|
In another issue Peter suggested a solution using "AWS CodeBuild". |
| Comment by Peter Murray [ 16/Nov/17 ] |
|
I'll take ownership of this. Since we have a lot of FOLIO resources on AWS already, my plan is to move the static dev.folio.org pages to an S3 bucket fronted by CloudFront. There is precedent for this: https://alexbilbie.com/2016/12/codebuild-codepipeline-update-jekyll-website/ At the same time, I'll also set up the AWS Codebuild/CodePipeline chain to create the static pages of branches to dev.folio.org in S3 so we can see the impact of pull requests in real-time. |
| Comment by Peter Murray [ 18/Nov/17 ] |
|
AWS CodeBuild is set up to the point where any pull request made to the repo triggers a build into an S3 bucket. |
| Comment by Peter Murray [ 30/Nov/17 ] |
|
The complete AWS stack was rebuilt overnight. The stack is installed and hooked into the GitHub repo. It will create new S3 bucket websites for branches. It does not itself update what people see on 'dev.folio.org' – that is still being done on GitHub Pages. |
| Comment by David Crossley [ 01/Dec/17 ] |
|
Nice stuff Peter. Many thanks for your obvious big effort. I did a new branch and PR, and followed through the build details. I did see one broken aspect. With the current GitHub Pages build, we do not use the ".html" extension, e.g. dev.folio.org/community/contrib-code The generated page is there at AWS with the ".html" extension. Not sure how extension-less URLs are achieved via GitHub, perhaps web server configuration. I may be jumping the gun, as i see that you have an open PR with more work. |
| Comment by Peter Murray [ 04/Dec/17 ] |
|
Hmm – I see what you mean. That is going to be a problem. It must be something that GitHub Pages is doing for us. The "Static Website Hosting" options offered by S3 are quite limited. Setting up the redirection rules might be the only option, but that adds ongoing complexity to the site deployment script. We might need to restructure the layout of pages in directories if we want to replicate that behavior. I'll look a little further. (
|
| Comment by David Crossley [ 05/Feb/18 ] |
|
The old "Curriculum" is now moved (
|
| Comment by Peter Murray [ 05/Feb/18 ] |
|
Thanks – I've sent a note to Michael Winker about
|
| Comment by Peter Murray [ 09/Feb/18 ] |
|
Now using AWS CodeBuild, CloudFront and S3 buckets for dev.folio.org website. |