Red Hat OpenShift是一个容器应用程序平台,它将Docker和Kubernetes引入企业。作为云原生计算平台,OpenShift允许团队自动化应用程序的构建,部署和管理。他们可以专注于开发应用程序而无需担心底层基础架构,无论是在物理/虚拟服务器上,还是在公共/私有/混合云环境中。
迁移到云计算本地计算是许多组织数字化转型的关键部分战略。然而,这只是方程式的一部分,因为必须解决的主要差距在于构建应用程序和自动化业务流程。今天许多应用程序开发仍然使用传统编码,因此固有的复杂性以及技术专业知识的短缺是重大障碍。
作为一个开源的无代码/低代码平台,可以为编码器和非编码器直观地构建企业Web应用程序,Joget是OpenShift填补空白的理想补充。Joget平台现在可以作为红帽认证容器使用,因此它在OpenShift上受到信任,安全和商业支持。本文介绍部署使用MySQL运行的经过认证的Joget容器映像的步骤 数据库。
使用OpenShift Web控制台部署Joget
步骤1:创建OpenShift项目
访问 OpenShift Web Console 并登录
点击“ Create Project”按钮创建项目,并键入所需的名称,显示名称和描述。
步骤2:部署MySQL数据库
在所选项目下,选择Add to Project >Browse Catalog并选择MySQL映像。
键入适当的设置,然后点击Create ,例:
步骤3:部署Joget平台
要访问Red Hat Container Catalog,需要用于登录Red Hat Customer Portal的有效用户名和密码。
如果您没有帐户,可以通过注册以下选项之一获取帐户:
Red Hat Developer Program。通过此帐户,您可以访问开发人员工具和程序。
30-day Trial Subscription。此帐户为您提供30天的试用订阅,可以访问选定的Red Hat软件产品。
在所选项目下,选择添加到Project > Deploy Image,然后单击create an image pull secret link。在随后的弹出窗口中,键入注册表的Red Hat登录详细信息。
创建密码后,选择Add to Project > Deploy Image,选择Image Name选项并键入registry.connect.redhat.com/joget/joget-v6-enterprise。单击小搜索图标以从注册表加载图像详细信息,键入所需的Name,然后单击 Deploy。
步骤4:添加持久存储
下一步是向容器添加持久存储,以存储配置文件和持久文件上载。在Applications >Deployments下,选择应用程序,然后选择Configuration选项卡。向下滚动到Volumes部分,然后单击Add Storage链接。
在“添加存储”页面中,单击小型create storage链接。使用所需的值创建新存储,例如
返回Add Storage页面,选择新创建的存储,将Mount Path设置为/ opt / joget / wflow,然后添加。
步骤5:为外部访问创建服务
此时,无法从外部Web浏览器访问该服务,因此您需要创建一个路径,该路由以主机名公开服务。
单击Applications > Services并选择joget-v6-enterprise。
选择Actions > Create Route,将Path设置为/ jw,然后单击Create。
返回Overview并单击应用程序名称旁边的URL以启动Joget平台。
使用OpenShift CLI部署Joget
对于那些更倾向于使用非图形命令行界面的人来说,使用OpenShift命令行界面(CLI)来部署Joget平台实际上更快。
#!/bin/sh
export PROJECT_NAME=joget-openshift
export REGISTRY_USERNAME=email@domain
export REGISTRY_PASSWORD=password
export REGISTRY_EMAIL=email@domain
export REGISTRY_SERVER=registry.connect.redhat.com
export IMAGE_NAMESPACE=joget
export IMAGE_NAME=joget-v6-enterprise
export IMAGE_TAG=latest
export APP_NAME=joget-v6-enterprise
export DB_APP_NAME=joget-mysql
export STORAGE_NAME=joget-data
export MYSQL_DATABASE=jwdb
export MYSQL_USER=joget
export MYSQL_PASSWORD=joget
echo === deploy Joget on OpenShift ===
echo PROJECT_NAME: $PROJECT_NAME
echo REGISTRY_SERVER: $REGISTRY_SERVER
echo REGISTRY_USERNAME: $REGISTRY_USERNAME
echo REGISTRY_EMAIL: $REGISTRY_EMAIL
echo IMAGE_NAMESPACE: $IMAGE_NAMESPACE
echo IMAGE_NAME: $IMAGE_NAME
echo IMAGE_TAG $IMAGE_TAG
echo IMAGE_NAME: $IMAGE_NAME
echo APP_NAME: $APP_NAME
echo DB_APP_NAME: $DB_APP_NAME
echo STORAGE_NAME: $STORAGE_NAME
echo MYSQL_DATABASE: $MYSQL_DATABASE
echo MYSQL_USER: $MYSQL_USER
echo MYSQL_PASSWORD: $MYSQL_PASSWORD
echo === create project ===
oc new-project $PROJECT_NAME
echo === deploy MySQL ===
oc new-app openshift/mysql:5.7 --name $DB_APP_NAME -e MYSQL_USER=$MYSQL_USER -e MYSQL_PASSWORD=$MYSQL_PASSWORD -e MYSQL_DATABASE=$MYSQL_DATABASE
echo === create and bind secret to pull Joget image ===
oc create secret docker-registry $REGISTRY_SERVER --docker-server=$REGISTRY_SERVER --docker-username=$REGISTRY_USERNAME docker-password=$REGISTRY_PASSWORD --docker-email=$REGISTRY_EMAIL
oc secrets link default $REGISTRY_SERVER --for=pull
echo === import Joget image ===
oc import-image $PROJECT_NAME/$IMAGE_NAME --from=$REGISTRY_SERVER/$IMAGE_NAMESPACE/$IMAGE_NAME --confirm
#echo === grant pull permission if from different project ===
#oc policy add-role-to-user system:image-puller system:serviceaccount:$PROJECT_NAME:default -n $IMAGE_NAMESPACE
echo === deploy Joget ===
oc new-app $PROJECT_NAME/$IMAGE_NAME:$IMAGE_TAG -e GC_MAX_METASPACE_SIZE=300 --name $APP_NAME
echo === create persistent storage claim ===
cat <
apiVersion: "v1"
kind: "PersistentVolumeClaim"
metadata:
name: "$STORAGE_NAME"
spec:
accessModes:
- "ReadWriteMany"
resources:
requests:
storage: "1Gi"
EOF
oc create -f pvc.yaml
rm pvc.yaml
echo === mount storage ===
oc set volume dc/$APP_NAME --add --type=persistentVolumeClaim --claim-name=$STORAGE_NAME --mount-path=/opt/joget/wflow
echo === expose service route for external excess ===
oc expose svc $APP_NAME --path=/jw
oc annotate route $APP_NAME --overwrite haproxy.router.openshift.io/timeout=60s
oc get route
echo URL: http://$(oc get route $APP_NAME --template='{{ .spec.host }}')/jw
设置数据库
配置成功后,将加载Joget App Center。
注意:如果在数据库设置期间遇到504网关超时,则会导致数据库初始化时间超过默认的OpenShift路由超时。您实际上可以忽略该错误并等待几分钟再次从“概述”页面访问“应用程序URL”。
您还可以使用OpenShift CLI增加路由超时
oc annotate route $ APP_NAME --overwrite haproxy.router.openshift.io/timeout=60s
在30分钟内构建完整的应用程序,无代码!
随着Joget平台的准备,现在可以在30分钟内构建一个包含仪表板,日历,审批工作流程和数据管理的完整应用程序。并且,它可以在没有编码的情况下完成,您可以通过拖放,点击和配置来完成。也可以使用触摸设备来构建它。