I think we need to start a discussion on how to streamline our Node.js service building, automated testing, beta cluster deployment, and eventually promoting it to production.
At the moment, our service deployment steps are:
- push service and/or libraries to master
- rebuild service with ./server.js build --deploy-repo --force, which updates the deploy repo
- git review deploy repo
- During the deployment window, +2 the deploy repo, and scap sync it right away to production
These steps are not great because they don't have a clear way to automate service build & test before production. The ideal scenario is for the service's deployment repo to auto-rebuild daily or on master update or when one of the key dependencies changes, or by request(?), and unit tests to run against it. I am not exactly sure if it would be possible to have Mediawiki+gerrit style tests, because unlike with Mediawiki, most of the services work happens in the libraries, not in the core service repository. (TBD)