You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Google Cloud Platform is Google's cloud computing and hosting platform. The Compute Engine is a part of the Google Cloud Platform that runs virtual machines (VM) on Google's high performance, scalable infrastructure. 

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.

 

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.

 

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


Install the Cloud SDK on your PC following the instructions in https://cloud.google.com/sdk/docs/quickstarts

 

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:

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
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

 

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

echo "== Add swap file (required for low memory machine types eg f1-micro) =="
gcloud compute ssh $INSTANCE_NAME -- "\
sudo fallocate -l 1G /swapfile;\
sudo chmod 600 /swapfile;\
sudo mkswap /swapfile;\
sudo swapon /swapfile;\
sudo swapon -s"


Step 4: Deploy Joget Workflow in the VM


Run the following commands to download and install Joget Workflow Enterprise Edition:

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"

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

Monitor the logs using:

echo "== Tail Logs =="
gcloud compute ssh $INSTANCE_NAME -- "tail -f ~/joget-enterprise-linux-*/apache-tomcat-*/logs/catalina.out"

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

23-Mar-2017 07:24:02.199 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in XXXXX ms 

Press CTRL-C to stop viewing the logs.

Step 5: Add Firewall Rule for Default Apache Tomcat Port 8080


The default installation bundle runs on Apache Tomcat port 8080. Add a firewall rule to allow traffic to access the default Apache Tomcat port 8080:

echo "== Add firewall rule for port 8080 =="
gcloud compute firewall-rules create tomcat-8080 --description "Incoming http 8080 allowed." --allow tcp:8080 --format json 


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

Step 6: Access Joget Workflow installation


Check the external IP of the VM instance by running the command:

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.

 

  • No labels