This topic contains 1 reply, has 2 voices, and was last updated by  Casey Trauer 5 years, 10 months ago.

Shared Code, Revision History and Git

  • I work for a vendor using Iguana to process data from multiple clients into their respective databases. We have a shared code base that all interfaces can use so that we are not having to maintain custom code for each individual client. Each client will have their on main which ultimately calls the shared code. We also currently have three test instances and two production to help balance out the workload for each instance.

    Generally speaking, we use the C environment in test for most of our development and then deploy it to the A and B instances and ultimately to production.

    I was hoping that use of Git might help make deployment easier and help us to keep the various environments in sync but it looks like the implementation of Git and version control applies to the channels, not to the Lua code.

    What I am looking for is some more information on the following.

    1) With or without Git, what is the most effective way to update shared Lua code between various environments?
    2) When updating a shared Lua file, generally we open up the translator for one client, and do a replace on the Lua file. We then commit the change. If only one channel is selected, does this Lua code change only affect the one channel, or all channels on the server, regardless?
    3) From everything I have read it looks like using repositories works for entire channels, not individual code files. Am I incorrect in this? If not I’d love some help getting a better understanding of how to use repositories for our shared code base.

    Greg Tataryn | Interface Engineer | Glytec Systems | e:

    Hi Greg,

    When you make a change to a shared module and commit to Iguana’s internal source control, you can select which channels that use that shared module will run from the latest update. The change actually gets committed to all related channels — if you go into the scripts, you’ll see your changes — but if you run the related channels that are excluded, it will run on a previous version in the commit history.

    When you export a channel to an external repository to enable deployment from one Iguana instance to another, all the channel’s scripts are updated, though you can choose to exclude certain shared modules from the export.

    That’s how it works at a high level. I think I’d want to understand a little bit more about what friction you are experiencing in the deployment process before I recommend any further strategies.


    Casey Trauer,
    Director, Client Education

You must be logged in to reply to this topic.