-
Notifications
You must be signed in to change notification settings - Fork 0
Siteimprove Integration
This project/website is integrated with Siteimprove found at https://siteimprove.ucop.edu
*The references to Gitlab are from the original setup.
-
To avoid impacting the live site a Pantheon multidev environment is setup which mirrors the live site daily. Additionally, a
.gitlab-ci.yml
file must be placed in the project root directory for gitlab automation to register and function. The Pantheon/Drupal project is not CI enabled, so adding the.gitlab-ci.yml
to theuctech-2019
gitlab project makes the project files messy and cluttered, so it was easier to simply create a new project space for this task.- Siteimprove friendly site URL: http://siteimprove-uctech-ucsb-edu-v04.pantheonsite.io/
- Pantheon Dashboard: https://dashboard.pantheon.io/sites/07686b49-0aa5-4dee-87c8-c67d930518cf#siteimprove
-
Currently, the live site is
replicated daily to this multidev instance scheduled at 5pm daily
, the task does not take long to perform and literally took1 job from master in 2 minutes and 44 seconds (queued for 1 second)
when last run.- Any team member with Gitlab access should be able to goto this url and manually press the Play button to create a new mirror of the site on an ad-hoc basis as needed: https://gitlab.id.ucsb.edu/ucsb-collaboration/uctech-daily-siteimprove-sync/pipeline_schedules
Then any UCSB Local Administrator
may perform a full site re-scan as needed outside of the Siteimprove schedule:
Or any Siteimprove user may goto a particular report and request that a particular page be re-scanned:
The integration is in this project space, https://gitlab.id.ucsb.edu/ucsb-collaboration/uctech-daily-siteimprove-sync , which all members have access to. The automation is a gitlab ci automation task. A gitlab job
is defined which runs some bash commands to perform Terminus commands on the uctech-ucsb-edu-v04
environments. The automation is performed using a docker image file dgurba did not create, but it is referenced in that projects gitlab Snippets.
Additionally this approach was tried outside of GitlabCI via a vanilla docker container using docker-compose and basic bash commands when logged into the container. That bare-bones example is in a folder in the project sourcecode as an example.
Lastly:
- The integration requires a
pantheon token
be used for Terminus authentication. This token is stored as a Gitlab secret variable in the project settings and used in scripts. - There were additional GitlabCI integration issues not encountered in the
docker-compose
POC basic setup, see the project issues for details. - An entry in my personal https://statuscake.com account is used to test the HTTP/S endpoint of http://siteimprove-uctech-ucsb-edu-v04.pantheonsite.io/ every 15 minutes. This is so that the Pantheon environment is kept alive continuously to the world (otherwise Pantheon will sleep the servers), and Siteimprove can properly crawl the site when its available (it is destroyed briefly when the site is re-synced).