-
Notifications
You must be signed in to change notification settings - Fork 387
Node RED Docker Release Process
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.
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
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.
- 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 astest
on Docker Hub. - When the tag contains
beta
then images and manifest lists are tagged asbeta
on Docker Hub. - When the tag does not contain
test
orbeta
, 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
|
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
.
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
.