Workflow version control on deploy


#1

Dear, I’m thinking about workflow version control, if I deploy the same unmodified workflow several times I will get many workflow versions of the unmodified workflow. There is any way to prevent that an unmodified workflow generates another workflow version on the engine? Or the best way is to define an internal process to just deploy a workflow that we have sure that a modification was done.

Best regards


#2

Hi @isaias, only deploy workflows when they change. An internal process is needed to manage this, because the broker version number is unrelated to any versioning outside the broker.

When you first start a system, you don’t know whether any version has been deployed, and so you usually want to “deploy if not present”. For the TypeScript client, you can specify this like this:

    const res = await zbc.deployWorkflow(
        './domain-mutation.bpmn', 
        { redeploy: false });

This will only deploy if there is no existing version of the workflow on the broker, which the behaviour you want in your app when the broker has just started. It’s mainly designed for dev. In production you would have some kind of automation to deploy workflows as part of provisioning a broker.


#3

Thanks @jwulf, I’ll implement a internal control on our deploy process.