Skip to content

For Developers: Deployment Procedures

Alex Kiessling edited this page Oct 17, 2023 · 2 revisions

Deployment

RMD uses our automated ArgoCD/Rancher deployment strategy. The steps are pretty simple:

Previews

Name your development branch anything starting with preview/ to deploy an instance of that code to its own preview. Remember to keep the names short (prefer preview/rmd-fix to preview/researcher-metadata-fix). Anything pushed to that branch that passes CI checks will be deployed to the preview. Check ArgoCD for details and status of the deployment. You may need to add callback urls in Azure to access parts of the application that require login. Check out: https://github.com/psu-libraries/researcher-metadata/wiki/For-Developers:-Kubernetes#restore-production-database for restoring the database.

QA

Anything merged into the main branch will kickoff a deployment to QA.

Production

First, cut a release for researcher-metadata in GitHub. This will kickoff some CD scripts that will create a pull request over in the researcher-metadata-config repository. Merge that pull request to kickoff the deployment to production. Check ArgoCD for details and status of the deployment.

Updating Gem Cache

Deployments may fail if the x86_64 versions of certain gems are not in vendor/cache. If you see errors to the effect that a particular gem was not found, either re-run bundle package or download the platform-specific gem. For example:

gem fetch libv8-node -v '15.14.0.1' --platform x86_64-linux
mv libv8-node-15.14.0.1-x86_64-linux.gem vendor/cache

This downloads libv8-node-15.14.0.1-x86_64-linux.gem and moves it into the cache. Commit, push, and then re-run cap deploy.