Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Resized images for readability.

...

As an open source platform to easily build enterprise web apps for cloud and mobile, Joget Workflow is a good complement for the Google Cloud Platform. 


Image Modified  Image Modified

This article describes the steps required to deploy Joget Workflow on a Linux VM using the Compute Engine. You can also use other OS platforms (e.g. Windows, OSX, etc) by adapting the commands accordingly.

 


Warning
Google Cloud Platform now has an always-free tier that allows you to host servers without cost.
However, do note that the free tier is limited, and it is recommended to choose an appropriate machine type for your requirements.

...


Table of Contents

Step 1: Signup for Google Cloud Platform


Signup for the Google Cloud Platform at https://console.cloud.google.com/freetrial

 


Step 2: Install the Cloud SDK

...

Info
titleImportant Note

In the Quickstart, you must complete the section "Before you begin" and "Initialize the SDK". After which, you may see the following messages.

Not setting default zone/region (this feature makes it easier to use [gcloud compute] by setting an appropriate default value for the --zone and --region flag).

See https://cloud.google.com/compute/docs/gcloud-compute section on how to set default compute region and zone manually. If you would like [gcloud init] to be able to do this for you the next time you run it, make sure the Compute Engine API is enabled for your project on the https://console.developers.google.com/apis page.

You must also enable "Google Compute Engine API" at https://console.developers.google.com/apis for the project (created automatically for you if you have none) in order to continue with the next step.

...


Step 3: Create a new Linux VM

...


Once the Cloud SDK is installed and verified to be working, create a new Linux VM using the following commands:

Code Block
titleOn Linux
export INSTANCE_NAME=joget6
export IMAGE_ID=ubuntu-1604-xenial-v20170307
export IMAGE_PROJECT=ubuntu-os-cloud
export MACHINE_TYPE=f1-micro
export JOGET_VERSION=6.0-BETA1.20
export MYSQL_VERSION=5.7
export MYSQL_PASSWORD=root

echo "== Create VM instance $INSTANCE_NAME for $IMAGE_ID on $MACHINE_TYPE =="
gcloud compute instances create $INSTANCE_NAME --image $IMAGE_ID --image-project $IMAGE_PROJECT --machine-type=$MACHINE_TYPE
Code Block
titleOn Windows
set INSTANCE_NAME=joget6
set IMAGE_ID=ubuntu-1604-xenial-v20170307
set IMAGE_PROJECT=ubuntu-os-cloud
set MACHINE_TYPE=f1-micro
set JOGET_VERSION=6.0-BETA1.20
set MYSQL_VERSION=5.7
set MYSQL_PASSWORD=root
 
echo "== Create VM instance %INSTANCE_NAME% for %IMAGE_ID% on %MACHINE_TYPE% =="
gcloud compute instances create %INSTANCE_NAME% --image %IMAGE_ID% --image-project %IMAGE_PROJECT% --machine-type=%MACHINE_TYPE%

 


If you are using a low-memory machine type (e.g. f1-micro), then you will need to add swap space:

...

Code Block
titleOn Windows
echo "== Deploy Joget Workflow =="
gcloud compute ssh %INSTANCE_NAME% --command="echo === Install Java ===;sudo apt-get install -y openjdk-8-jdk-headless;    echo === Install MySQL ===;    sudo debconf-set-selections ^<^<^< \"mysql-server-%MYSQL_VERSION% mysql-server/root_password password %MYSQL_PASSWORD%\";    sudo debconf-set-selections ^<^<^< \"mysql-server-%MYSQL_VERSION% mysql-server/root_password_again password %MYSQL_PASSWORD%\";    sudo apt-get -y install mysql-server-%MYSQL_VERSION%;    sudo -E apt-get -q -y install mysql-server;    echo === Download Joget Workflow %JOGET_VERSION% ===;    cd ~;    wget https://dev.joget.org/downloads/enterprise/joget-enterprise-linux-%JOGET_VERSION%.tar.gz;    echo === Extract Bundle ===;    tar xvfz joget-enterprise-linux-%JOGET_VERSION%.tar.gz;    cd joget-enterprise-linux-%JOGET_VERSION%;    echo === Setup Datasource ===;    apache-ant-1.7.1/bin/ant setup -Dprofile.name=default -Ddb.name=jwdb -Ddb.host=localhost -Ddb.port=3306 -Ddb.user=root -Ddb.password=%MYSQL_PASSWORD%;    echo === Reduce JAVA VM Memory Allocation ===;    sed -i -e 's/512/256/g' tomcat8.sh;    echo === Clean Bundle ===;    cd ..;    rm -r joget-enterprise-linux-%JOGET_VERSION%.tar.gz;    echo === Start Joget Workflow %JOGET_VERSION% ===;    cd joget-enterprise-linux-%JOGET_VERSION%;    ./tomcat8.sh start"

...


Deployment may take several minutes (depending on the type of VM) so be patient.

...

Code Block
titleOn Windows
echo "== Tail Logs =="
gcloud compute ssh %INSTANCE_NAME% --command="tail -f ~/joget-enterprise-linux-*/apache-tomcat-*/logs/catalina.out"

...


The deployment is complete once you see the following in the logs:

...

More information available at https://cloud.google.com/compute/docs/networking#addingafirewall

 


Step 6: Access Joget Workflow installation

...


Browse to your Joget Workflow installation at http://VM_EXTERNAL_IP:8080/jw, and get started with Apps and the App Center.