An example of deploying a solution with databases from the archive. (Can be expanded without source codes).
If ZPM the current instance is not installed, then in one line you can install the latest version of ZPM.
set $namespace="%SYS", name="DefaultSSL" do:'##class(Security.SSLConfigs).Exists(name) ##class(Security.SSLConfigs).Create(name) set url="https://pm.community.intersystems.com/packages/zpm/latest/installer" Do ##class(%Net.URLParser).Parse(url,.comp) set ht = ##class(%Net.HttpRequest).%New(), ht.Server = comp("host"), ht.Port = 443, ht.Https=1, ht.SSLConfiguration=name, st=ht.Get(comp("path")) quit:'st $System.Status.GetErrorText(st) set xml=##class(%File).TempFilename("xml"), tFile = ##class(%Stream.FileBinary).%New(), tFile.Filename = xml do tFile.CopyFromAndSave(ht.HttpResponse.Data) do ht.%Close(), $system.OBJ.Load(xml,"ck") do ##class(%File).Delete(xml)
If ZPM is installed, then appmsw-dbdeploy
can be set with the command
zpm:USER>install appmsw-dbdeploy
Make sure you have git and Docker desktop installed.
Clone/git pull the repo into any local directory
git clone https://github.com/SergeyMi37/appmsw-dbdeploy.git
Open the terminal in this directory and run:
docker-compose build
- Run the IRIS container with your project:
docker-compose up -d
docker-compose exec iris iris session iris
USER>do ##class(appmsw.sys.dbdeploy).CreateTGZ("useroles","d:\_proj\_mygirhub\appmsw-dbdeploy\db-tgz\")
USER>do ##class(appmsw.sys.dbdeploy).CreateDbFromTgz("useroles","useroles8")