Question
Scott Roth · Oct 14, 2019

Integrating InterSystems IRIS with Source Control Systems (GitHub/Azure)

I am currently evaluating Source Control systems that we can use for both MS SQL, MS Visual Studio, and InterSystems IRIS. For both MS SQL and MS Visual Studio we do have the option of either Azure or GitHub.  I understand when we upgrade to IRIS 2019.1 we have options for Source Control, and in previous Global Summit's I have heard GitHub discussed.  So why can't I user GitHub for both MS SQL/MS Visual Studio and IRIS?

A couple of questions come to mind starting to think about Source Control

  1. When integrating Source Control in an IRIS environment, is that source control just used for Code done in Studio, or can it be used for DTL, Business Process, Schema Editor, and etc?
  2. Has anyone integrated IRIS with GitHub? Can you please provide examples.
  3. How secure is the Source Control if you integrate it with GitHub?

Just trying to figure out the better route and if we can kill two birds with one stone.

 

Thanks

Scott Roth

00
2 1 7 540

Replies

Scott, could you please specify, are you going to use Visual Studio or Visual Studio Code. Both are from Microsoft, but completely different products.

I know nothing about MS SQL. Visual Studio (not code) does support officially IRIS. There was one project, but already closed.

Visual Studio Code or VSCode itself supports GitHub by default very easy, just edit files locally, commit and push changes.

VSCode-ObjectScript is my extension for VSCode, adds support for Caché, Ensemble, and IRIS, any versions from 2016.2 (where were added Atelier support). It perfectly supports classes and routines, but if talk about "DTL, Business Process, Schema Editor, and etc" it does not have native support for it, but all of those staff based on classes, so, you can edit it as classes.

IRIS itself does not need to have support for GitHub, this task for an editor.

How secure is the Source Control if you integrate it with GitHub?

What do you mean here? Developers should manually choose what to commit to source control. It is not an automated task.

There is one exception though: if you are using some IRIS UI tools e.g. to develop productions you need to manage export/import these artefacts into files to let them be committed to Github then. Preferabbly automatically (e.g. per each Save operation).

we own our code and cannot allow it to be on another party's site (github) so our tech stack is much more interesting to work with

It’s not a problem at all. You can use on-premises versions of GitHub, GitLab, Bitbucket or anything else, depends on your budget and needs.

It is a problem if you maintain full ownership of your code. To make sure you maintain full ownership of your code you would have to use your own in house for repo is what I meant. Not my policy, it’s my companies 

So, company policy forces to keep all the source code only in Caché? You can install own source control server, even GitHub. It will be completely your own server anywhere you will decide. With no ability to connect from outside if you would need it.

So, yes, I still sure, not a problem at all. 
I have been worked in company with two contours, one is for development with no access to internet, completely isolated. And another network for outside world. And we had to use two PCs, for our work. And we anyway we were able to use source control

Hi Scott!

There is no need to integrate IRIS with Github. It's more about how the IDE you are using to develop IRIS solutions is integrated with Github. And the majority of modern IDE are integrated with Github already: VSCode goes with Git/Github integration out of the box ( and I believe Visual Studio too (as soon as Github is Microsoft now too).

If the question is how you can develop IRIS solutions having the code managed in Github there are a lot of approaches. You can check these videos made by myself which illustrate:

How to create IRIS Application in Github, develop it in VSCode and commit changes into the repo

How to collaborate and make changes to an already existing project in Github repo using Github Flow

And:

Atelier can be integrated with Git 

Studio also has the integration with Git