Deployment without unnecessary risk

Hello

I’m part of a development team starting on ignition.

In our project, we will have five environments that don’t communicate with each other and some with redundancy.

During our deliveries, every month, we will have to update those environments with:

  • the database schema
  • Configuration of OPC server
  • The list of OPC tags/udt/tag groups known by Ignition
  • new settings on the gateway (security zone, idp…)
  • new images
  • python libraries
  • new version of the project with views, scripts…
  • other things that we don’t know yet

We have identified two methods to deploy new version of project :

  • restoring a gateway backup
  • import the project, tags and other resources via the designer and manually configure the target gateway

Each of these methods has more disadvantages than advantages, and each has a high risk of error.

I’m surprised that software like Ignition doesn’t have a dedicated transport tool to meet this kind of need.

I would like to know what are your methods or best practices for deploying a project and dependancies between environments in a secure manner.
I can’t found any relative topic on the forum.

Thank you

1 Like

Hello again.

I answer myself because after creating this post, I continue my investigations.

During the tests on the backup/restore method of Gateway, I found that the values of the memory tags are included in the backup and overwrite those of the target environment.
This is a blocking point from my point of view because I don’t know how to keep and restore the values of several hundreds of memory tags from the target.

Moreover, do any of you know if restoring a gateway backup from another environment overwrites previously declared licenses, certificates and secure connections?

Have you looked at the Enterprise Administration Module? This would probably take care of most of the Ignition pieces but you would still need alternate methods for DB schemas and python libraries since those live outside the Ignition gateway.

1 Like

Thank you for your answer @Paullys50.

I took a quick look at the documentation for this module and I had the impression that the different Gateways had to be on the same network.
This will not be the case for me, so I didn’t go any further in my reading.

If we can export and transport gateway setttings and project in one time. It will be nice.

Yes EAM’s power comes from being connected to gateways so you can push out updates are required. If you aren’t connected then you have to decide how to deploy. I wouldn’t do entire gateway backup/restore as that will cause more problems. You can export/import tags and export/import full projects and export/import project resources but all of that is a management headache as well.

You can do some of this with Git in 8.0

new version of the project with views, scripts…

Look in <install directory>/data/projects

Thank you @chasondeshotel

I've not installed Git yet but it's planned to manage what I can with it.
I don't know yet if I can look the to catch updates on Gateway settings (Tags, UDT, Image, configuration files...).
Apparently, it's not a relevant method : Version control 7.9 projects

I questioned the forum because I can't find an "ideal" solution to meet this need.
Indeed, it seems like a nightmare to manage.

@Paullys50 How do you manage your projects updates/deliveries ?

You linked a document for 7.9 but resources weren't text files until 8.0 so this is a recent development

I'd love to see everything that's not in a database get stored as text files but for now scripting and templates is a massive improvement

I don’t know yet if I can look the to catch updates on Gateway settings (Tags, UDT, Image, configuration files…).

I think the best you can do for that is an automatic backup. Keep in mind the backup doesn't store modules so if you panic reinstall you could be broken until you find and install your modules too... so ideally you'd save the installers as well if you use 3rd party modules

1 Like

Automatic backup is planned but it’s more useful for recovery not for transport between environments.

Not having received any answer that satisfied me, I have created a suggestion on the dedicated Inductive website.

https://ideas.inductiveautomation.com/ignition-features-and-ideas/p/deployment-tool

1 Like