[ 
https://issues.apache.org/jira/browse/NIFI-14159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17933229#comment-17933229
 ] 

David Pfingst commented on NIFI-14159:
--------------------------------------

[~joewitt]  Thank you very much for your reply and sorry for my very late 
answer.
After thinking about it for a while I totally agree with you that states 
shouldn't be versioned.
I'm now using the Nifi REST API in my CI/CD Gitlab Pipeline and it works very 
well. New deployed process groups can be activated throught the pipeline in our 
case.

But what I discovered after working with Nifi Version Control for a while that 
versioned sub process groups lead into new issues:
When I use a versioned process group on the root canvas that contains other 
versioned process groups there are many issues when I try to work with gitlab 
branches. 
Suppose I have a feature branch to work on new features in the sub process 
group. I would load the parent process group into my local nifi to work on it. 
But when I load a process group from the main branch then I would have to 
delete the sub process group because it comes from the main branch that is 
deployed. Then I would have to import the process group from the feature branch 
to work on it. But when I commit changes and merge the branch into a release 
and then into main branch the version of the sub process group stays on the 
feature branch that doesn't exist anymore when it's merged. 
Do you have any ideas on that? Or is there a "best practice" on how to work on 
versioned process groups?

> NIFI flexible Version Control
> -----------------------------
>
>                 Key: NIFI-14159
>                 URL: https://issues.apache.org/jira/browse/NIFI-14159
>             Project: Apache NiFi
>          Issue Type: Wish
>          Components: Flow Versioning
>    Affects Versions: 2.1.0
>            Reporter: David Pfingst
>            Priority: Major
>              Labels: gitlab, nifi, versioning
>
> As a NiFi User / Admin I want to run Nifi with a complete deployment via 
> GitLab Pipeline so that it's not necessary to login into UI for bringing 
> changes into production environment. I want to use NiFi mostly headless with 
> a single admin user for service and other users only for monitoring purposes.
> At the moment I'm using the NiFi REST API in a Pipeline script to achieve the 
> functions that aren't integrated into NiFi Version Control itself (deployment 
> of the new version) but there are restrictions that would be too complicated 
> to solve with the API. For an example the running state of the single 
> processors should be possible to get via version control. When I change the 
> state of a processor on my developement environment (local NiFi) this state 
> should be set on the production server as well when I deploy the new version.
> My wishes for a flexible Version Control:
>  * Select per process group what should be versioned (checkbox for services, 
> running states, etc.)
>  * Version Control of Parameter providers (maybe passwords fillable with 
> CI/CD Variables from GitLab?)
>  * Position of the Processor in canvas (could help with automatic deployment 
> via GitLab)
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to