Hello sirs/ma,
Please, we have some concerns and need your help. We are creating Docker images using flow generated by our developers. 



A .How do we deploy our images from one environment to another environment?


1. Current Development Approach 

(Approach 1)
 Currently we are using gitlab for Configuration Management. Since lot of developers will be working in parallel we are creating separate branch (in gitlab) for each and every flow. NiFi Registry can supports single git branch. So we end up having multiple nifi-registries (one per branch, which contains one flow). Later each developer will merge their changes into one common branch which is going to have all the flows that are developed by developers. Using some NiFI Rest APIs, NiFi Toolkit commands we are importing all the flows from common branch to local NiFi Instance. We are preparing the docker image by using that NiFi Instance. This docker image  is sent to QA, later to PreProduction & Production environments.  Is this correct approach? 

(Approach 2):
I see some blogs who is not providing the image directly. They always import the flows directly from NiFi-Registry to connected Nifi instance. In this case at the time of "nifi.sh start", do they connect to Nifi-Registry directly and load all the flows automatically or Is that something we need to perform as first step after bringing up the nifi instance? I see there are some properties in nifi.properties file. Should we need to make use of these properties file? nifi.nar.library.provider.nifi-registry.implementation=org.apache.nifi.registry.extension.NiFiRegistryNarProvider
nifi.nar.library.provider.nifi-registry.url="">

 In this above deployment approach new flows or fixing issues in existing flow, do we need to restart nifi instances or nifi will automatically load all the changes that are going into nifi-registry seamlessly?

Thank you.

Reply via email to