Skip to content

Express Gateway Release Process

Vincenzo Chianese edited this page Aug 6, 2018 · 12 revisions

Express Gateway's Release Process is almost completely automated.

In order to trigger it, just publish a tag to Github (you can generate it by simply doing npm version (major|minor|patch) and then git push --follow-tags.

Once that is done, CircleCI will detect the new tag and, once tests are passing for all the jobs, it will:

  1. Publish the new package to NPM
  2. Build all the Docker Images and push them to DockerHub.

Once that's done, make sure to create a new Release on Github, publishing a meaningful Changelog.

The new release will trigger another automatism, this time managed by our Zapier account, that will

  1. Take the release notes and send them to our mailing list — discuss at express minus gateway dot io.
  2. Take the release notes and send them to Gitter as a message.
  3. Inform our lovely and huge marketing team (just 1 person so far) of the new version, so they can react accordingly.

Wait!

Unfortunately there's one manual process I haven't been able to automate yet. You need to go in our website repository and put the current version here and here. I know this is lame, but I haven't been able to come up with a better idea yet. Maybe an API Call to Github releases?

Hold on!

While it's not mandatory, when there's a minor|major release, we try to update all the possible dependencies. If you're releasing Express Gateway, consider doing it.

Release a development image on Docker

Docker Cloud account for Express Gateway has been configured so that if your branch name ends with -d — the Cloud service will build an image for such branch. You can find the entire list on the Tags Page. When you're done with the image it would be polite to remove that, although nobody is going to kill you for that

Clone this wiki locally