Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
...
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.
...
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 |
---|
Signup for the Google Cloud Platform at https://console.cloud.google.com/freetrial
...
Info | ||
---|---|---|
| ||
In the Quickstart, you must complete the section "Before you begin" and "Initialize the SDK". After which, you may see the following messages.
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. |
Once the Cloud SDK is installed and verified to be working, create a new Linux VM using the following commands:
...
Code Block | ||
---|---|---|
| ||
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.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 | ||
---|---|---|
| ||
echo "== Add swap file (required for low memory machine types eg f1-micro) ==" gcloud compute ssh %INSTANCE_NAME% --command="sudo fallocate -l 1G /swapfile; sudo chmod 600 /swapfile; sudo mkswap /swapfile; sudo swapon /swapfile; sudo swapon -s;" |
...
Run the following commands to download and install Joget Workflow Enterprise Edition:
Code Block | ||
---|---|---|
| ||
echo "== Deploy Joget Workflow ==" gcloud compute ssh $INSTANCE_NAME -- "\ 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" |
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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
...
Check the external IP of the VM instance by running the command:
Code Block |
---|
echo "== Display instance and external IP ==" gcloud compute instances list |
Browse to your Joget Workflow installation at http://VM_EXTERNAL_IP:8080/jw, and get started with Apps and the App Center.