Most of the CI/CD processes are now based on Container's way. And do it without Docker makes this process much more complex. And It's not quite clear what do you want to achieve. 

And in any way, this task is quite complex, and very much depends on what kind of application you have, how you build it right now, in some cases major OS, and even when some other languages and technologies are used for application. You may contact me directly, I can help with this, I have experience and knowledge on this.

docker exec -it iris iris session iris

Node: fa3f20fc42dc, Instance: IRIS

USER>w $zv
IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2021.2 (Build 617U) Thu Dec 9 2021 15:00:18 UTC
USER>:c

USER>:h
 1: :h

USER>:a

USER>:sql
SQL Command Line Shell
----------------------------------------------------

The command prefix is currently set to: <<nothing>>.
Enter <command>, 'q' to quit, '?' for help.
[SQL]USER>>  << entering multiline statement mode, 'GO' to execute >>
    1>>q
[SQL]USER>>q

USER>:t
SQL Command Line Shell
----------------------------------------------------

The command prefix is currently set to: <<nothing>>.
Enter <command>, 'q' to quit, '?' for help.

dialect = MSSQL
[SQL]USER>>

even :t for TSQL dialect

It looks like, it already persists somehow. I'm using docker, after halt command, I've entered the same container back with session, looked at :h and is history there, as well as aliases.

Dmitry Maslennikov · Dec 29, 2021 go to post

There are no reasons to have it Studio, instead I would recommend to have a look at VSCode, where is good support for JavaScript and for ObjectScript 

Dmitry Maslennikov · Dec 24, 2021 go to post
  set hr=##class(%Net.HttpRequest).%New()
  set hr.Server = "server.com"
  set hr.Location = "method"
  do hr.InsertParam("name","value")
  do hr.InsertParam("name2","value2")
  do hr.Post("",1)

And the result

USER>do ^test
POST /method?name=value&name2=value2 HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; InterSystems IRIS;)
Host: server.com
Accept-Encoding: gzip
Content-Length: 0
Dmitry Maslennikov · Dec 12, 2021 go to post

And here it is, containers.intersystems.com gone

$ docker pull containers.intersystems.com/intersystems/irishealth-community:2021.2.0.617.0
Error response from daemon: Get "https://containers.intersystems.com/v2/": Service Unavailable

Could you push those images to the docker hub, as usual before? It's more stable.

Dmitry Maslennikov · Dec 10, 2021 go to post

Yeah, of course, you can change any class, if it's not a system and not deployed class stored in a read-only database

looks like you already know how to generate classes, so, to edit some method, you have to open a particular method by its id, which can be constructed from the class name and the method name.

USER>set method = ##class(%Dictionary.MethodDefinition).%OpenId("%Library.File||Exists") 

USER>write method.Implementation.Size
56

Well, Axure, is just a prototyping tool. And it does not have anything that would help to create something production-ready, with any kind of backend at all. It would be probably ok for designers to create some prototype of the application, or probably make something working, but only if no database is needed at all, such as a landing page.

So, I don't think that this tool could be considered in this role

Just as another option, I've recently published a project. Running in NodeJS, and connects to IRIS. It does not use an official driver and can be installed with npm (no readme, yet). Supports only SQL queries at the moment. You can look at this code, for example of usage. Just installing this package inside a Debian-based docker image with NodeJS, will be enough.

The most important thing you have to understand first, that when you use containers-way for running your application (and Docker here is just one of the ways, to run containers). You have to remember, that container should be as simple as possible, and do just only one thing. So, it means, that your NodeJS application, should run in a separate container, even if it connects to IRIS, it still has to be run separately and connected to IRIS over TCP. 

So, you can use any official Debian-based NodeJS image, put InterSystems NodeJS driver in it, as well as your application, and run it. And your IRIS will run in a separate container, no matter which version.

It's a very interesting question. I think you mean something like some low-code platform.

I have not any of such and don't know about it. But suppose, such tools should work with a backend over REST.

If so, I see no reason, that it would not work with IRIS.

If you have some such tools in mind, could you share them, so, I would look, and check how easy it would be to connect to IRIS?

Ahh, did not notice you using x86_64 version, you need arm64 version, and it will be another image

store/intersystems/iris-community-arm64:2021.1.0.215.3

Just, to see if it’s not the durable %SYS issue, I would try to run it without durable. And you don’t need —init flag any more

The version 2021.1.0.215.0 of Community Edition contains an expired license. You’d need to use 2021.1.0.215.3 instead

It would not be safe to clean just everything there, on the fly. Alive processes may have expected some data in there.

The best way to solve it, to keep it cleaned well. You should try to figure out which globals have a bigger size. And if it's are part of your app, you may try to figure out which one could be cleaned safely and at what time. 

Dmitry Maslennikov · Nov 26, 2021 go to post

Unfortunately, there is no simple way of any debug for any web requests. And it does not really matter in docker or not.

Frontend world where is CSP is supposed to be part of, is growing very fast, and the best results you’ll achieve if you choose any way offered by the frontend community. And this is always depends your needs. Mostly known Angular, React and Vue.js.  The good things of using such popular frameworks, will be a lots developers for you, and that they are driven by the community and grows so fast. You still can use IRIS, as a backend, with REST for instance. Frontend developers may even don’t know what’s drive the backend, and how to deal with IRIS.