powerful-elephant-53462
02/22/2019, 9:06 PM(calculate semver)
-> (build container, tag w/ semver, push to docker registry)
-> (static analysis & long-running tests)
-> (package helm chart w/ semver, publish to helm repo )
I was thinking I’d have a separate CD pipeline that ran the Pulumi program for deploying the service (triggered by the above CI pipeline completing).
In that Pulumi program, the version of a microservice would be a part of the stack configuration. I’m assuming the Helm provider just passes the version
string down to the helm cli, so I could use semver ranges to specify which version of a service belongs in each stack...
something like, in the Pulumi program for svcA it’d have a config variable svcA:version
, and it’d be set differently in each stack:
dev: >=1.1.0 # always grab the latest, even breaking changes
test: >=1.1.0,<2.0.0 # new features, but not breaking changes
staging: >=1.1.0,<1.2.0 # new bug fixes, but not new features.
production: 1.1.0 # pinned to 1.1.0
Am I setting myself up for future pain? Should I be thinking about the problem in a different way?creamy-potato-29402
02/22/2019, 9:36 PMpowerful-elephant-53462
02/22/2019, 10:08 PMcreamy-potato-29402
02/22/2019, 10:34 PM