-
Notifications
You must be signed in to change notification settings - Fork 0
Publish docker image #22
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
Conversation
1365c42
to
ca6e889
Compare
bf71263
to
59b8da6
Compare
ca6e889
to
c30ac65
Compare
34b242d
to
9b5957b
Compare
6357691
to
368901a
Compare
94174b5
to
963587f
Compare
963587f
to
ce8b631
Compare
Correct me if I'm wrong, but I think this differs from our usual release process in a way that would surprise other staff. If this happened:
What would be the state of the release tagged 1.0.0 - would it include PR 1 AND 2? If so this differs from all our other repos (which would only include PR 1) and that might trip people up. I would suggest that any merge to live builds a docker image tagged "live" and any explicit release made builds a image tagged with the version number and maybe "stable" too? Then the release process is A) update version number B) Merge that Pr C) Make a new release - and that matches our usual And there is options on the registry for people who want to follow bleeding, stable or an explicit version But the other thought here is do we need version numbers? This is an app not a library, so maybe we don't? |
@jarofgreen, I don't think that example is quite correct:
Therefore
I think that is what this process is doing, it just means that the "make a new release" step is automatic when a PR is merged, rather than a manual step that a developer has to do.
I think versions are important here as it separates the publishing of a version from the deployment of a version. We can publish a new version, and sanity check it on development, before choosing explicitly to upgrade the version on the production server. As well as this, technically there is an "API" to the pipeline, i.e. the expected inputs or environment variables. Using semantic versioning here means people have to think about breaking changes explicitly, rather than production suddenly breaking because it's always just relying on |
225ff9b
to
b7caeeb
Compare
b7caeeb
to
706b01f
Compare
Updates to CI/CD:
Other changes:
Related to #12