Semi-automatically publish a client release from Jenkins
When performing a Jenkins CI build of the "master" branch, prompt the user to deploy and then after they approve, execute the same release process that a developer currently executes on their machine, namely: 1. Update the changelog 2. Run "yarn version" to update the package version, create a tag and GitHub release. After these steps the release process continues on Jenkins as before, with an npm package published and the build deployed to an S3-backed CDN using the s3-npm-publish tool. Enabling publishing the release entirely from Jenkins required some additional changes: - Use a Debian Stretch-based Node container, to get a newer Git version which supports "taggerdate", used by the changelog scripts. - Disable Git tag signing, since this is not set up on Jenkins. - Do not run "make test" from the preversion script, since this has already been run by Jenkins earlier in the process. Additionally to facilitate testing of this branch I added support for specifying a prerelease version suffix. This made it possible to test the whole deployment process without updating the live version of the client. In future this will likely come in useful for doing staging/QA releases.
Showing
Please register or sign in to comment