Difference between revisions of "A Guide to Deploying Web Apps"

From Lianjapedia
Redirect page
Jump to: navigation, search
(Preview live in browser)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
=See Also=
+
#REDIRECT [[Cross_Platform_App_Deployment_with_Lianja_v6#Web_and_Mobile_Apps]]
[[Deploying to Local Directory]], [[Understanding Live Preview]]
+
 
+
=Preview live in browser=
+
'''Preview live in browser''' generates the index.html, tablet_index.html and phone_index.html files, deploys script files and opens the App in the default browser, allowing you to preview the App running with your local Lianja Cloud Server prior to deploying to a remote server.
+
 
+
Note: from Lianja v5.5 the Web App View, Tablet App View and Phone App View headerbar buttons have been removed.  When using '''Preview live in browser''', current browsers offer the option to [[Deploying_to_Local_Directory#Device_Emulation|emulate different devices]].
+
 
+
Remember that you should deploy the data and any required Library files using the [[#Deploy Workspace|Deploy Workspace]].
+
 
+
Click '''Preview live in browser'''.  It will generate and deploy the files for the App. 
+
 
+
[[{{ns:file}}:l6_previewbrowser.png|800px|left|border|link={{filepath:l6_previewbrowser.png}}|Preview live in browser]]
+
<br clear=all>
+
 
+
=Deploy=
+
[[#Preview live in browser|Preview live in browser]] generates the HTML5 code and deploys the App's files to your local Lianja Cloud Server deployment path. To deploy your Apps, databases and Library and [[MetaTypes]] files to a remote location, use the '''Deploy''' workspace.
+
 
+
You can go directly to the '''Deploy''' workspace via the system menu or Modebar, or use the '''Quick Deploy''' toolbutton in the headerbar of the '''Pages''' and other workspaces.
+
 
+
==Quick Deploy==
+
Quick Deploy can be run while the App is open.  Quick Deploy automatically saves and restores the environment, closing the database and tables for the deployment then reopening them when the operation is complete.
+
 
+
Quick Deploy defaults to using the App Deployment Settings:
+
 
+
{| class="wikitable" width="100%"
+
!width="25%"|Attribute
+
!width="75%"|Description
+
|-
+
|valign="top"|Publisher||The way to publish the Apps (Copy &#124; SFTP &#124; Custom).
+
|-
+
|valign="top"|Publisher path||The optional full path of the publisher program, e.g. /usr/bin/rsync.
+
|-
+
|valign="top"|Publisher arguments||The optional arguments to the publisher program, e.g. -avc for rsync.
+
|-
+
|valign="top"|Server||The server IP address or nodename where the App will be deployed, e.g. localhost or myserver.mydomain.com.
+
|-
+
|valign="top"|Directory||The root lianja directory on the LAN or server where the Apps will be deployed.
+
|-
+
|valign="top"|Build an installer||Build an installer for Windows desktop deployment (True &#124; False).
+
|-
+
|valign="top"|Username||The optional username to authenticate with the remote server.
+
|-
+
|valign="top"|Password||The optional password to authenticate with the remote server.
+
|-
+
|valign="top"|Private key (.pem file)||The (optional) private key (.pem file) to authenticate with the remote server.
+
|-
+
|}
+
 
+
[[{{ns:file}}:app_settings2.png|450px|thumb|left|link={{filepath:app_settings2.png}}|App Deployment Settings: COPY]]
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
For example, here the files will be deployed:
+
 
+
- using Copy ('''Publisher''')
+
 
+
- to the networked drive location G:\lianja\cloudserver\tenants\public\ ('''Directory''')
+
 
+
<br clear=all>
+
 
+
[[{{ns:file}}:app_settings.png|450px|thumb|right|link={{filepath:app_settings.png}}|App Deployment Settings: SFTP]]
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
And another example, here the files will be deployed:
+
 
+
- using SFTP ('''Publisher''')
+
 
+
- to the server on 192.168.80.133 ('''Server''')
+
 
+
- to the server location /opt/lianja/cloudserver/tenants/public/ ('''Directory''')
+
 
+
- logged in as root ('''Username''')
+
 
+
- the password ('''Password''') is not specified, but a prompt dialog will be displayed
+
 
+
<br clear=all>
+
 
+
Note that the '''Directory''' location is the root location.  Files will be deployed to the [[#Deployment_Directories|sub-directories]] of this location.  The trailing directory separator ('\' or '/') should be included.
+
 
+
'''Publisher path''' and '''Publisher arguments''' are only required when using a ''Custom'' '''Publisher'''.
+
 
+
===Setup===
+
[[{{ns:file}}:qdeploy1.png|450px|thumb|left|link={{filepath:qdeploy1.png}}|Quick Deploy]]
+
 
+
 
+
 
+
 
+
 
+
 
+
Click the '''Quick Deploy''' toolbutton in the headerbar to open the dialog.
+
 
+
The first step in using '''Quick Deploy''' is '''Setup'''.
+
 
+
<br clear=all>
+
 
+
Clicking the '''Setup''' button takes you into the '''Deploy''' workspace.  Here you can select the databases, Apps and Library files that will be included in your deployment.
+
 
+
[[{{ns:file}}:qdeploy2.png|450px|thumb|left|link={{filepath:qdeploy2.png}}|Quick Deploy Setup: Deploy Workspace]]
+
 
+
 
+
 
+
 
+
Check the box next to the databases, Apps and Library files to be deployed.
+
 
+
While in the '''Deploy''' workspace, you can change the [[#Deployment Settings|Deployment Settings]] to specify an alternative location or additional options as required.
+
 
+
Then switch back to the Pages workspace and reopen the '''Quick Deploy''' dialog using the toolbutton in the headerbar.
+
+
Note that while this Lianja App Builder session is running your deploy setup will remain active until you change it.
+
 
+
<br clear=all>
+
 
+
===Preview===
+
[[{{ns:file}}:qdeploy3.png|450px|thumb|left|link={{filepath:qdeploy3.png}}|Quick Deploy: Preview]]
+
 
+
 
+
 
+
 
+
Clicking '''Preview''' will allow you to check the files and destination location of the files to be deployed.
+
 
+
<br clear=all>
+
 
+
===Commit===
+
[[{{ns:file}}:qdeploy4.png|450px|thumb|left|link={{filepath:qdeploy4.png}}|Quick Deploy: Commit]]
+
 
+
 
+
 
+
When you are ready to deploy, click the '''Commit''' button and confirm when prompted by clicking '''Yes'''.
+
 
+
Then click '''Close'''.
+
 
+
<br clear=all>
+
 
+
==Deploy Workspace==
+
As mentioned above, you can go directly to the '''Deploy''' workspace rather than use '''Quick Deploy'''. 
+
 
+
To deploy in the '''Deploy''' workspace, there should be no App or database open.
+
 
+
[[{{ns:file}}:deployws1.png|450px|thumb|left|link={{filepath:deployws1.png}}|Deploy Workspace: Select Files]]
+
 
+
 
+
 
+
 
+
Check the box next to the databases, Apps and Library and [[MetaTypes]] files to be deployed.
+
 
+
Note that if your Apps are in a [[Lianja Projects|Lianja Project]], checking the box next to the Project name will automatically select all files associated with that Project in the Deployment files explorer tree.
+
 
+
While in the '''Deploy''' workspace, you can change the [[#Deployment Settings|Deployment Settings]] to specify an alternative location or additional options as required.
+
 
+
<br clear=all>
+
 
+
[[{{ns:file}}:deployws2.png|450px|thumb|left|link={{filepath:deployws2.png}}|Deploy Workspace: Preview Changes]]
+
 
+
 
+
 
+
 
+
Clicking the '''Preview changes''' headerbar toolbutton will allow you to check the files and destination location of the files to be deployed.
+
 
+
<br clear=all>
+
 
+
[[{{ns:file}}:deployws3.png|450px|thumb|left|link={{filepath:deployws3.png}}|Deploy Workspace: Commit Changes]]
+
 
+
 
+
 
+
 
+
Click the '''Commit changes''' headerbar toolbutton when you are ready to deploy and confirm when prompted by clicking '''Yes'''.
+
 
+
<br clear=all>
+
 
+
===Deployment Settings===
+
As mentioned above, the deployment settings default to those in the App Settings.  These can be changed in the '''Deploy''' workspace and additional file permissions specified.
+
 
+
[[{{ns:file}}:deploy_settings.png|450px|thumb|left|link={{filepath:deploy_settings.png}}|Deploy Workspace: Deployment Settings]]
+
 
+
 
+
 
+
 
+
 
+
Click '''New''' to create a new '''Deployment Settings''' profile.
+
 
+
Enter a name for the profile then fill in the settings.
+
 
+
Settings descriptions are listed in the tables below.
+
 
+
Once complete, click '''Save'''.
+
 
+
The new settings profile can be selected from the '''Favorites''' combobox at any time in the future to override the App Settings defaults.
+
 
+
<br clear=all>
+
 
+
===Server details===
+
{| class="wikitable" width="100%"
+
!width="25%"|Setting
+
!width="75%"|Description
+
|-
+
|valign="top"|Server||The server IP address or nodename where the App will be deployed, e.g. localhost or myserver.mydomain.com.
+
|-
+
|valign="top"|Username||The optional username to authenticate with the remote server.
+
|-
+
|valign="top"|Password||The optional password to authenticate with the remote server.
+
|-
+
|valign="top"|Private key (.pem file)||The (optional) private key (.pem file) to authenticate with the remote server.
+
|-
+
|valign="top"|Directory||The root lianja directory on the LAN or server where the Apps will be deployed.
+
|-
+
|valign="top"|Owner||The owner to be set for the deployed files, e.g. 'apache'.  This is currently ignored.
+
|-
+
|valign="top"|Group||The group to be set for the deployed files, e.g. 'apache'.  This is currently ignored.
+
|-
+
|valign="top"|Permissions||The permissions to be set for the deployed files, e.g. '766'.
+
|-
+
|}
+
 
+
===Publisher details===
+
{| class="wikitable" width="100%"
+
!width="25%"|Setting
+
!width="75%"|Description
+
|-
+
|valign="top"|Publisher||The way to publish the Apps (Copy &#124; SFTP &#124; Custom).
+
|-
+
|valign="top"|Publisher path||The optional full path of the publisher program, e.g. /usr/bin/rsync.
+
|-
+
|valign="top"|Publisher arguments||The optional arguments to the publisher program, e.g. -avc for rsync.
+
|-
+
|}
+
 
+
==System Database==
+
[[{{ns:file}}:deploy_systemdb.png|450px|thumb|left|link={{filepath:deploy_systemdb.png}}|Deploy System Database]]
+
 
+
 
+
 
+
 
+
 
+
The system database holds the definitions for [[Users and Roles]], [[:Category:Row Level Security|Row Level Security]] and [[Understanding Dynamic Data Masking in Lianja|Dynamic Data Masks]].
+
 
+
Make sure the system database is included in the deployment.
+
 
+
<br clear=all>
+
 
+
=Deployment Directories=
+
Using the standard installation settings, these are the Lianja Cloud Server default directories for Web/Mobile Apps:
+
==Windows==
+
{| class="wikitable" width="100%"
+
!width="20%"|Files||width="80%"|Location
+
|-
+
|valign="top"|App||C:\lianja\cloudserver\tenants\public\wwwroot\apps
+
|-
+
|valign="top"|Databases||C:\lianja\cloudserver\tenants\public\data
+
|-
+
|valign="top"|Library||C:\lianja\cloudserver\tenants\public\wwwroot\library
+
|-
+
|}
+
==Linux==
+
{| class="wikitable" width="100%"
+
!width="20%"|Files||width="80%"|Location
+
|-
+
|valign="top"|App||/opt/lianja/cloudserver/tenants/public/wwwroot/apps
+
|-
+
|valign="top"|Databases||/opt/lianja/cloudserver/tenants/public/data
+
|-
+
|valign="top"|Library||/opt/lianja/cloudserver/tenants/public/wwwroot/library
+
|-
+
|}
+
==macOS==
+
Prior to v6.0:
+
{| class="wikitable" width="100%"
+
!width="20%"|Files||width="80%"|Location
+
|-
+
|valign="top"|App||/Users/<username>/Library/Application Support/Lianja/cloudserver/tenants/public/wwwroot/apps<br>Note: /usr/local/lianja/cloudserver is a symbolic link to /Users/<username>/Library/Application Support/Lianja/cloudserver
+
|-
+
|valign="top"|Databases||/Users/<username>/Library/Application Support/Lianja/cloudserver/tenants/public/data<br>Note: /usr/local/lianja/cloudserver is a symbolic link to /Users/<username>/Library/Application Support/Lianja/cloudserver
+
|-
+
|valign="top"|Library||/Users/<username>/Library/Application Support/Lianja/cloudserver/tenants/public/wwwroot/library<br>Note: /usr/local/lianja/cloudserver is a symbolic link to /Users/<username>/Library/Application Support/Lianja/cloudserver
+
|-
+
|}
+
 
+
From v6.0:
+
{| class="wikitable" width="100%"
+
!width="20%"|Files||width="80%"|Location
+
|-
+
|valign="top"|App||/Users/Shared/Lianja/cloudserver/tenants/public/wwwroot/apps
+
|-
+
|valign="top"|Databases|||/Users/Shared/Lianja/cloudserver/tenants/public/data
+
|-
+
|valign="top"|Library||/Users/Shared/Lianja/cloudserver/tenants/public/wwwroot/library
+
|-
+
|}
+
 
+
[[Category:Deployment]]
+
[[Category:App Settings]]
+
[[Category:Lianja v6.0]]
+

Latest revision as of 10:42, 1 June 2021