Set up automated update & deploy for cwlviewer
- New cwlviewer docker container will be published to docker hub
- Trigger via "push" (the publisher process logs into view.commonwl.org and triggers update) or "pull" (cron job checks for new container image)
- Pull new container image from docker hub
- Restart service with new container image, but using existing volumes that contain the database
The cwlviewer service runs with docker compose, with the docker images built locally from source. There are three containers involved.
- add a -dev instance (cwlviewer-dev.arvados.org), also running with composer, images built from source, that just gets updated whenever the git tree is (main). Ideally this happens somehow via Jenkins (so that non-sysadmins can see it happen and there is a record of the updated deploy).
- for the production instance, add a Jenkins job that can be used to update the running copy (i.e. specifying a git commit hash, for a release published on github, ideally). This job can be triggered manually as needed.
Updated by Ward Vandewege over 1 year ago
This is now done.
The staging site is at https://cwlviewer-dev.arvados.org, and is autodeployed from git (on a 1 minute poll timer) via https://ci.arvados.org/view/CWL/job/Deploy%20staging%20cwlviewer%20(cwlviewer-dev.arvados.org)/
The production site is currently at commit:6347e811536f7377a72eb2d83eed62955aa78523 (unchanged from before) and can now be deployed via Jenkins with https://ci.arvados.org/view/CWL/job/Deploy%20production%20cwlviewer%20(view.commonwl.org)/
There is not much to review here; the relevant commits are in the salt repo, tagged with #18074. You could do
git diff 132738c08702164fa53af9390357a3a3cacc9fb2..d6025e9926f65be52d2f5e855d73372d9da7bcec
to review the difference (ignore the ami change from an unrelated commit).