I know that pact is best suited for Continuous Dep...
# pact-broker
k
I know that pact is best suited for Continuous Deployment where each service deployed independent. But is there any flow for deploying services as part of batch? E.g. I have application that contains five services (A, B, C, D, E). I want to upgrade two services (A,B). How to run "Can I deploy" so I can verify that set of versions is compatible with specific env? My best idea is to tag new versions of A & B with tag (as A & B may have contract) containing my env name and check "Can I deploy" for each of them if any of them fails remove tags from their version and fail promotion, otherwise proceed. Any other ideas? Before anyone asks: We have pretty long security procedure before deployment so it is much easier to promote periodically as batch rather than delay each service before previous finish security checks.
b
@Ksawery Karwacki you can run can-i-deploy in a batch
Assuming you have something like a mono-repo: can-i-deploy --pacticipant SubApp1 --version 1 --pacticipant SubApp2 --version 1 --pacticipant SubApp3 --version 1 --to-environment prod
And then record each app’s deployment afterwards
k
@Beth (pactflow.io/Pact Broker/pact-ruby) if I have contract between SubApp1 and SubApp2 it will use versions provided as parameter to verify rather than already deployed? I don't have strictly monorepo but my upgrade job have list of services with versions (all of them are versioned independently) so I can build call like the above (just each SubApp will have it's own different version rather than common version 1)
b
if I have contract between SubApp1 and SubApp2 it will use versions provided as parameter to verify rather than already deployed?
Yes