Skip to content

Node RED Docker Release Process

Raymond Mouthaan edited this page Sep 25, 2019 · 7 revisions

This page describes the release process of the Node-RED Docker images and manifest list and is intended for the maintainers of Node-RED Docker images.

Travis CI

For the build, test and publish process, the Node-RED Docker project uses Travis CI. Travis CI gets triggered by any changes to the GitHub repository (commits & PRs) independently of any branch.

When changes to the github repo are "detected" by Travis CI, automatically the build process starts. All Node-RED images (16) are being built locally on the Travis CI build server. At this stage nothing gets pushed to Node-REDs Docker Repo on Docker Hub. These changes can be done manually or by Greenkeeper*

If you don’t want to run a build for a particular commit for any reason, you may instruct Travis CI to skip building this commit via a command in the commit message. The command should be one of the following forms: [<KEYWORD> skip] or [skip <KEYWORD>] where <KEYWORD> is either ci, travis, travis ci, travis-ci, or travisci.

For example: [skip travis] Update README

*) Greenkeeper monitors NPM dependencies for this project, using the packages listed in package.json. When a new Node-RED release is published to NPM, Greenkeeper sends a pull request with an updated package.json. Once the PR has been accepted and merged, Travis CI starts building the images

Publishing to Docker Hub

To publish Node-RED Docker images and associated manifest lists to Docker Hub a release must be created (manually) on the GitHub Node-RED Releases page.

Tag Version Naming Convention

  • A tag version should always start with a v, this triggers Travis CI to build the images and manifest lists and publish them to Docker Hub.
  • When the tag contains test then images and manifest lists are tagged as test on Docker Hub.
  • When the tag contains beta then images and manifest lists are tagged as beta on Docker Hub.
  • When the tag does not contain test or beta, a final release assumed.

Examples:

Github Tag Docker Hub
v0.20.8 - This tag does not contain test or beta, so a final release is assumed.
- images are tagged by its version 0.20.8 and manifest lists are tagged by latest
v1.0-test.1 - This tag does contain test, so a test release is assumed.
- images are tagged by it's version 1.0-test.1 and manifest lists are tagged by test
v1.0-beta.4 - This tag does contain beta, so a beta release is assumed.
- images are tagged by it's version 1.0-beta.1 and manifest lists are tagged by beta
v1.0 - This tag does not contain test or beta, so a final release is assumed.
- images are tagged by it's version 1.0 and manifest lists are tagged by latest

test

The aim of test is to release a test version of Node-RED Docker images and manifest list, to test the images and manifest lists. These images and manifest lists are far from stable and not advised to be used in a production environment. test can be seen as alpha. Curious users can help test these images and manifest lists and raise there issues on GitHub. The version of Node-RED in the package.json does not necessarily has to contain beta.

beta

The aim of beta is to release a beta version of Node-RED Docker images and manifest list, to test the images and manifest lists. These images and manifest lists are closer to a final release and not advised to be used in a production environment. Curious users can help test these images and manifest lists and raise there issues on GitHub. The version of Node-RED in the package.json must contain beta.

Clone this wiki locally