In general, to deploy means to make a software available for use. From this point of view, deployment can be considered a complex of many interrelated activities including software development and production as well as its release, installation, update.
In particular, to deploy means to publish the application after it was built so as it becomes available for its end users.
In this and subsequent pages, we'll deal with the second view point and consider the deployment procedure as the procedure of publishing your 4gl applications.
To put it very easy, deploy includes:
qrun --aot
, and There are three basic ways to deploy your 4gl applications:
Programs built on the development system with a trial license activated cannot be deployed to neither another machine to another operating systems.
To be able to deploy applications to other machines and OS, you must activate a commercial license on the development system.
Application execution does not restrict its deployment – you can deploy the new version of your application while its previous version is running.
When you run applications from LyciaStudio, they are deployed automatically.
This means that any of the actions listed (and illustrated) below call the procedure of deploying the application to the working directory of the AppServer instance selected by default for this program, project, or workspace:
All the available application server instances are defined in listener.xml. By default, it is
The default AppServer instance is defined:
Window → Preferences → 4GL → Run/Debug → Application Servers
<project> → <context menu> → Properties → Application Server
<program> → <context menu> → Run AS... → Run Configurations → Application Servers
If you are not going to run your application from LyciaStudio, there are three stand-alone deployment options:
Deploy with custom parameters opens the Deployment configuration window.
All three options are available from the context menu of a program:
Deployment configuration window
In the Deployment configuration window, you can
deploy your application to a specified folder on your machine with building the debug cache or release cache or with no cache built.
specify the target operating system (for cross-system deployment):
Deploying with hot keys
You can use hot keys – Alt + D – to deploy applications to the default application server:
qbuild is used to compile projects or their elements created in LyciaStudio and located in the workspace.
Among other options, it has the option -M
that tells qbuild what operation to perform - clean, build, deploy, rebuild, or perform all these operations sequentially.
-M deploy
deploys the application to the working directory of the AppServer instance selected by default for this program, project, or workspace (details are here):
qbuild -M deploy <path to the program folder> <program name>
-M deploy -d
deploys the application to the specified location:
qbuild -M deploy -d <path to the program folder> <program name>
qbuild -M deploy -d <path to a zip file> <program name>
If you specify both the path to the program folder and the program name, only this application will be deployed:
qbuild -M deploy C:\Users\user\workspace\new project new_program
qbuild -M deploy D:\my deploys\new program.zip new_program
If you specify only the path to the program folder, all the built programs from this folder will be deployed.
When you specify a file name, be careful with its case.
UNIX is case-sensitive, so it will treat files which names come in different cases as separate files.
To deploy your 4gl applications manually, you must perform these steps:
Step 0. Build the program.
You must copy the program with all its requirements - forms, themes, media files, etc.
The program structure must be also preserved.
qrun --aot <program> (for release cache)
or
qrun --aot --unl <program> (for debug cache)
You can set the QX_UNL environment variable instead of using the -unl
option:
QX_UNL = 1
You can set the QX_VERBOSE_CACHE environment variable to enable verbose output of results for building the object_cache:
QX_VERBOSE_CACHE = 1
When building release cache, it is useful to set the QX_REL_LINE_INFO environment variable for getting the line information:
QX_REL_LINE_INFO = 1