You could try using git and pull requests, merges, code review process. Just 
have to export and import your flows as templates.

Alternatively, if Nifi registry was built on git API (local or remote repos 
etc) then it would all "just work" the way you describe.
________________________________
From: Eric Secules <[email protected]>
Sent: Tuesday, February 25, 2020 1:31 AM
To: [email protected] <[email protected]>
Subject: Suggestions for Flow Development Lifestyle

Hello everyone,

Im starting to use nifi and nifi registry on my development team and we're 
running into issues working together on the same versioned process groups.
The nifi registry doesn't support branching, merging and code review nativly so 
we all have ended up developing on the same branch on the same registry 
instance and doing in-person peer review. Is there a better way for teams to 
develop process groups for nifi?

What we've tried:
I tried to set up my own registry on my local machine where I do development 
and make incremental changes. Then when I am ready to "merge" I import the 
process group to the central registry from my local registry. The main issue 
with this is that there's no mechanism for merge if the central registry and my 
local registry have diverged. The other issue is when a versioned process group 
containing other versioned process groupss is moved from local-reg to 
central-reg the inner PGs still say their source is local-reg despite the 
containing PG moving from local-reg to central-reg. This becomes a problem in 
production environments which would only be connected to central-reg. Tldr; 
Moving nested versioned flows between registries is complicated.

I've also tried backing up my local registry to a separate branch in git and 
manually merging it with the branch that central-reg backs up to, but these git 
branches are glorified backups and the registry doesn't seem to be built to 
pull updates from them. On top of that doing a code review on the generated 
JSON describing a process group is difficult and I ran into several merge 
conflicts testing out a very simple merge where the target branch diverged 
slightly from the feature branch.

Does anyone have any other approaches that have succeeded on teams with 
multiple people developing on the same set of process groups?

Thanks,
Eric

Reply via email to