Elliott Jacobsen-Watts
11/04/2024, 4:38 PMrecord-deployment in non-prod environments, or can we just perform record-release in production environments?
Context:
We have several providers that were only running can-i-merge as part of their CI pipelines because they figured as long as the mainline build was passing, they could roll out to prod without issue. This was fine until mobile consumers needed those providers to verify against version*s* (plural) in prod. Now, they need to run can-i-deploy at least in those production envs.
I work on the Mobile consumer team. I initially implemented can-i-deploy (every pipeline run, all envs) and record-deployment (only for non-prod envs when merging back to our mainline) steps in our pipeline, but now thinking about it, I don't know how much sense that makes, since consumers are running against our mainline with can-i-merge anyway.
So the updated pipelines would be:
• For story and feature branches:
◦ publish
◦ can-i-merge
• For release/ branches:
◦ publish
◦ can-i-deploy
◦ Post-release to App Store and Google Play: record-releaseMatt (pactflow.io / pact-js / pact-go)
Matt (pactflow.io / pact-js / pact-go)
Elliott Jacobsen-Watts
11/07/2024, 3:48 PMwhat does “deployed” (or “released”) look like in non-prod environments?Good question. We have a fairly large team that deals with 2-6 projects at the same time. Most projects use feature branches comprised of story branches that get merged back to
mainline when the project is complete. A debug version of our apps can point to any combination of region + environment, but the app doesn't get deployed to an environment the same way an API or web app does. Testers can choose to download any version of the app from github that's been built, rather than the latest built version superseding the rest. So the deployment metaphor doesn't really fit.
In an earlier question, I said:
Our current setup has us "recording a deployment" fromBut since most of ourwhenever we merge feature, bug, or story branch back into it. In this way,mainlineserves as our non-prod environment(s).mainline
providers are using can-i-merge, they'd just be testing against mainline anyways.Matt (pactflow.io / pact-js / pact-go)
Elliott Jacobsen-Watts
11/08/2024, 4:28 PM