Skip to content

Deploying Plugins on ECS and to overview local

Adam Hooper edited this page Jan 17, 2018 · 2 revisions

So you edited a plugin. How do you push your change everywhere?

1. Release it with a version number

To deploy your plugin, you need to publish it.

  1. Pick a version number: increment the latest one using semver. Update PATCH for bugfixes and MINOR for new features. Leave MAJOR at 1: if it's higher than 1, this guide is obsolete!
  2. Each plugin has a ./release script. Call ./release 1.MINOR.PATCH, substituting in your new version number.

The ./release script will:

  1. Build from Dockerfile, run integration tests, and abort on failure.
  2. Update the project's code to match the new version (such as in package.json) and commit the fix.
  3. git push to master.
  4. Tag the project v1.MINOR.PATCH and git push the tag.

2. Wait for Docker Hub

Assuming you configured Docker Hub correctly, it will spot your git pushes and build new images with tags latest, 1, 1.MINOR and 1.MINOR.PATCH.

3. Update overview-local

  1. Check out overview-local.
  2. Edit config/overview.yml: update the version number of your plugin.
  3. Commit the change and push it.

We don't run integration tests here: we rely upon the plugin's own integration tests.

4. Update ECS

This is ... a pain. "Fargate" makes these steps simpler, but we've already reserved an instance. We hope to update these instructions once Amazon releases "EKS" because we suspect it will be even better than Fargate.

  1. Log into AWS Management Console
  2. Navigate to ECS (Elastic Container Service)
  3. Find the latest Task Definition for your plugin. Click Create New Revision.
  4. Scroll down until you find the "container" section of the task. Click it. Change the image's version number in the container definition's popup.
  5. Close the popup and click Create to create a new Task Definition.
  6. Navigate to the plugin's Service (in the plugins2 cluster).
  7. Click Update (to update the service)
  8. Choose the new Task Definition.
  9. Click Next Step, Next Step, Next Step, Update Service
  10. Wait for AWS to update things. You may need to go to the previously-running Task and Stop it to make room for the new one.
Clone this wiki locally