We're updating the issue view to help you get more done. 

Add Continuous Deployment to our Travis system

Description

As a development group, we need out automated CI system to find problems in the deployment packages when they are introduced so that we can avoid a 'package building log-jam' at release time.

To implement this:

  • Use the Travis 'build stages' feature to trigger package builds only if the 'regular' build succeeds.[0]

  • Use Docker to provide the build environments for CentOS 6 and 7. [1]

  • Use the native Ubuntu 14 OS for debian packages.

  • Name the packages using build numbers, git commit hashes (first 7 digits is generally considered good enough). Also, look at `git rev-parse --short=7 --verify HEAD` which will give you a seven digit hash if it's unique, or add more digits as needed. [2]

  • Push these to an AWS bucket. We can use the current bucket used for the test results, but that clutters things up. Note that the Travis builds have a special 'deployment' part for this and we're using it already.

  • These packages are not all to be released - we might build the packages for release by hand still - so we can assume that we sign and get them to the web site 'manually.'

  • Do this for both libdap and bes

[0]: https://docs.travis-ci.com/user/build-stages
[1]: https://twindb.com/building-rpm-on-travis-ci-in-docker-containers/
[2]: https://stackoverflow.com/questions/18134627/how-much-of-a-git-sha-is-generally-considered-necessary-to-uniquely-identify-a

Status

Assignee

James Gallagher

Reporter

James Gallagher

Labels

None

Priority

Medium