Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build an simplistic release pipeline #172

Closed
9 tasks done
tomkerkhove opened this issue Sep 24, 2018 · 2 comments
Closed
9 tasks done

Build an simplistic release pipeline #172

tomkerkhove opened this issue Sep 24, 2018 · 2 comments
Assignees
Labels
docker All issues related to Docker management All issues related to management of the project release-management All issues related to releasing Promitor
Milestone

Comments

@tomkerkhove
Copy link
Owner

tomkerkhove commented Sep 24, 2018

Build an advanced release pipeline to automatically release a new version.

Specification

  • Build the codebase
  • Run unit tests (relates to Introduce unit testing #32)
  • Build Docker image
  • Tag Docker image for full releases ({major}.{minor}.{patch} & {major}.{minor})
  • Tag Docker image for pre-releases ({major}.{minor}.{patch}-{description})
  • Push Docker image to Docker Hub for full releases ({major}.{minor}.{patch} & {major}.{minor})
  • Push Docker image to Docker Hub for pre-releases ({major}.{minor}.{patch}-{description})
  • Create a GitHub release when version is of format {major}.{minor}.{patch}
  • Create a GitHub pre-release when version is of format {major}.{minor}.{patch}-{description}

Versioning

Every build is queued by specifying the version to release. This supports the following formats:

  • {major}.{minor}.{patch} for full releases
    • Creates a GitHub release
  • {major}.{minor}.{patch}-{description} for preview releases
    • Creates a GitHub pre-release

Docker tags

Every release should tag the docker image twice:

  • {major}.{minor}.{patch} which is specific for this release
  • {major}.{minor} which gives you all the features for this combination, but always pulls in the latest patch version. This should not be done when it is a preview release.

This is important as this enables consumers to always run on the latest bug fixes and most importantly security fixes.

@tomkerkhove tomkerkhove added docker All issues related to Docker management All issues related to management of the project release-management All issues related to releasing Promitor labels Sep 24, 2018
@tomkerkhove tomkerkhove self-assigned this Sep 24, 2018
@tomkerkhove tomkerkhove moved this from To do to On-Hold in Project Management Sep 24, 2018
@tomkerkhove tomkerkhove added this to the v0.4.0 milestone Dec 7, 2018
@tomkerkhove tomkerkhove moved this from On-Hold to In progress in Project Management Dec 7, 2018
@tomkerkhove
Copy link
Owner Author

{major}.{minor} tag was added for full releases. unit tests will be done in v0.5.0

@tomkerkhove tomkerkhove modified the milestones: v0.4.0, v0.5.0 Dec 10, 2018
@tomkerkhove
Copy link
Owner Author

Pipeline is completed.

@tomkerkhove tomkerkhove moved this from In progress to Done in Project Management Dec 14, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docker All issues related to Docker management All issues related to management of the project release-management All issues related to releasing Promitor
Projects
No open projects
Development

No branches or pull requests

1 participant