Helix Pages is the Helix project behind https://*.project-helix.page/
Clone the current repo and run hlx up
.
Direct commits to master
branch are blocked, all changes must come via a PR. Once the PR is merged into master
, the CI will hlx deploy
and hlx publish
the new code.
The project requires some extensions of the default VCL provided by Helix. The publish steps requires to include the extensions in vcl/extensions.vcl. To publish, run:
hlx publish --custom-vcl='vcl/extensions.vcl'
The patched version of the 3 subroutines adds the parsing of the host url to extract the content owner / repo that would override the one stored in the Fastly dictionary.
helix-publish
versionhelix-publish
helix-pages
where the name contains -publish-ci
helix-publish@ci
versionhelix-publish
first, then in helix-pages
It is sometimes useful to re-deploy the current version. Re-running the CI publish process does not work because hlx deploy
use the current helix-config.yaml
and does not find "something new" to deploy.
To trigger a fresh new build, you simply need to push an empty commit to master (you need admin privileges) - the commit message must respect the semantic release logic to trigger what is needed. Here is an example:
git commit --allow-empty -m "fix(ci): trigger a new clean release"
In case of incident, you may want to revert the production environment to a earlier version.
Requirements: you need to clone the current project and add a .env
file which contains:
HLX_FASTLY_AUTH=<your auth token>
HLX_FASTLY_NAMESPACE=<the helix-pages fastly service id>
Checkout a previous working tag:
git checkout <tag>
and then run the publish command:
hlx publish --custom-vcl='vcl/extensions.vcl'
After a few seconds, you can test a project like https://theblog--adobe.hlx.page/. Note that the browser cache needs to be clean, otherwise you may have false positives.
All actions on Runtime and the Fasty service config are instrumented (via CircleCI env vars) with Epsagon tracing instructions in the "Helix Services" app.
Go to your Google Drive account
Create a new shared folder to hold the website root
Share the folder with helix
Create a domain mount point on GitHub
mountpoints:
/g: https://drive.google.com/drive/folders/{id}
where “url” is the Google Drive folder URL above
Create a file for each page of the site
* Use drag & drop or the button “+ New” > Google Docs
* Change the filename to index (no extension) or a page name (no extension)
* Be sure to add an image (bug) and make a Heading 1 style title
Type your new website URL into a browser:
https://{repo}-{username}.hlx.page/g/index.html
If you wish to view a different branch, you can use the following convention:
https://{branch}--{repo}--{username}.hlx.page/g/index.html