Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Build new docker images from PR branch
  • API: docker build -t ndslabs/apiserver:NDS-123 . && docker push ndslabs/apiserver:NDS-123
  • GUI: ./build.sh -c && ./release.sh NDS-123 -t
  • Tag / push new image to DockerHub (issue tag: push, latest: don't push)
  • Mark ticket as "In Review" and assign to tester

New

...

Unstable "Latest" Release

Prerequisites:

  • Any related PRs have been merged to master
  • Ensure that smoke test passes
  • Ensure documentation in Confluence is up-to-date
  • Checkout your master branch
    • git checkout master
  • Sync with upstream
    • git pull upstream master
    • git push origin master
  • Update ALL documentation in GitHub

Process:

  • Build new docker images from master branch
    • API: docker build -t ndslabs/apiserver . && docker push ndslabs/apiserver:latest
    • GUI: ./build.sh -c && ./release.sh
  • Tag / push new image to DockerHub (version tag: don't push, latest: push)
  • Commit and push new build version / date(s) to upstream master on GitHub

...

 

  • New "latest" Docker images are automatically built from the upstream master branch on GitHub.
  • All new changes that make it into master on GitHub will automatically trigger a build on DockerHub

 

Official Tagged Version Release (Stable)

Prerequisites:

  • Ensure that all tests pass
  • Ensure documentation in Confluence is up-to-date
  • Checkout your master branch
    • git checkout master
  • Sync with upstream
    • git pull upstream master
    • git push origin master
  • Update ALL documentation in GitHub

Process:

  1. Regenerate Swagger API / Client from spec (if the spec has changed)
    • apiserver/???: generated Go swagger server
    • gui/js/app/shared/api.js: generated AngularJS swagger client 
  2. Create a new tag from master in GtiHub for the new version (i.e. 1.0.0, 1.0.1, etc)
    1. New versioned Docker images are automatically built from the upstream tags created on GitHub.
    2. All new tags that are created will trigger a build.
  3. Roll forward version numbers in source

...

  1. and ensure that all values match on upstream master on GitHub:
    • Swagger API
      • apis/swagger-spec/ndslabs.yaml: NDS Labs swagger API spec version number
    • API Server:
      • apiserver/build.sh: NDS Labs API Server Docker image version tag
      • apiserver/version.go: NDS Labs API / Server version number
    • CLI Client:
      • apictl/build.sh: NDS Labs CLI version number
      • apictl/cmd/clientVersion.go: NDS Labs CLI / API version number
    • UI Client:
      • gui/Dockerfile.ndslabs-gui: NDS Labs UI / webserver Docker image version tag
      • gui/js/package.json: NDS Labs UI  / webserver NPM package version number
      • gui/js/bower.json: NDS Labs UI Angular app Bower package version number
      • gui/js/app/app.js: NDS Labs UI Angular app build version number

...

  • apiserver/???: generated Go swagger server
  • gui/js/app/shared/api.js: generated AngularJS swagger client 

...

  • API: ./build.sh build && ./build.sh release
  • GUI: ./build.sh -c && ./release.sh version-number

...

Repositories to Tag (in order)

...