Add CI/CD pipeline and release procedure #26
Labels
blocked
This can't be worked on until something changes
discussion wanted
We need to talk about this
feature
Something should be added
Milestone
BLOCKED until #5 is done
Goal
Ensure that things get to production with a minimum of effort, while still requiring a minimum of quality.
Description
My idea is divided into two stages: Continuous integration with testing, and continuous deployment, in that order. The point is to separate the quality assurance from the actual release of a new version, to avoid confusing the two, and so that we can be sure that a new version will actually be deployed when we trigger the CD -- the CI contains all of the QA checks, so once that's completed successfully, we know that the CD can only fail because the deployment itself failed.
CI
master
mvn clean package
, no-DskipTests=true
.Changelog
section? Maybe this has to be written by hand?pom.xml
version, but I'm not sure how this should best be done.If any of those steps fails, the rest should be skipped. They're ordered roughly by (a) what naturally needs to come first, and (b) speed -- the quickest stages run first, to fail as quickly as possible.
CD
There are two steps to CD: Staging and prod.
Staging
Staging runs automatically, every time
master
changes.Deploy
The deploy stage requires a human to OK the build and set a time. It's relatively simple:
Alternatives
Additional notes
No, a Heroku instance watching
master
and automatically redeploying does not count.The text was updated successfully, but these errors were encountered: