Google Cloud Platform 是Google云平台. 计算引擎是 Google云平台的一部分, 可以运行高性能、可扩展架构的虚拟机 (VM).
作为一个开源企业web应用快速开发平台, Joget Workflow 可以作为Google Cloud Platform很好的组件.
本文介绍了在Google计算平台虚拟机上部署 Joget Workflow 的步骤. 您也可以使用其它操作系统 (e.g. Windows, OSX, etc) .
Google云平台现在有一个 always-free tier 可以免费使用. 然而, 请注意免费服务有限制, 请根据您的需要, 选择合适的 机器类型 . |
Signup for the Google Cloud Platform at https://console.cloud.google.com/freetrial
Install the Cloud SDK on your PC following the instructions in https://cloud.google.com/sdk/docs/quickstarts
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:
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 |
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 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:
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" |
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:
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" |
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.
Monitor the logs using:
echo "== Tail Logs ==" gcloud compute ssh $INSTANCE_NAME -- "tail -f ~/joget-enterprise-linux-*/apache-tomcat-*/logs/catalina.out" |
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:
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.
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
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 应用和应用中心.