Stage

Lifeboat uploads new files to a secondary location so that the web app may continue to run while the developer is uploading an update. In Lifeboat this is called Staging.

Lifeboat has smart staging procedures which check for existing files when updating an app. This can reduce upload time by copying the Xojo framework libraries rather than re-uploading them.

Deploy

Deployment occurs after Staging (uploading) has completed. Deployment will configure services as necessary and launch the application. The deployment phase is the only time in which the web app is stopped and unavailable to users.

As a procedure, deployment will:

  1. Configure nginx
  2. Configure systemd service(s)
  3. Stop the web app
  4. Swap the new version into place
  5. Start the web app

This deployment process is very quick and downtime is minimal. Note that configuring systemd services has a one-to-one relationship with how many instances are to be configured.

Automatically Deploy Feature

Since deployment causes downtime, developers may wish to be in control of when the deployment phase occurs. At other times, such as the initial upload, it may not be necessary to manually deploy. Lifeboat offers a checkbox to automatically deploy from the web app configuration view. When selected, this feature will automatically transition to the deployment phase after the staging phase has completed.