提交 701b54b1 编写于 作者: ibizdev's avatar ibizdev

tony001 部署微服务应用 [后台服务,演示应用]

上级 3a913a8e
FROM ibiz4j/ibizlab-gateway:2.4.0.2
ENV TZ=Asia/Shanghai
EXPOSE 51001
WORKDIR /
COPY dist /dist
ADD application-gateway.yml /application-gateway.yml
......@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -706,7 +706,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return;
}
const arg: any = { ...opt } ;
......
......@@ -11,7 +11,7 @@ export default class Usr2Model {
* 获取数据项集合
*
* @returns {any[]}
* @memberof Usr2Dataviewexpbar_dataviewMode
* @memberof Usr2DataViewMode
*/
public getDataItems(): any[] {
return [
......@@ -43,6 +43,17 @@ export default class Usr2Model {
dataType: 'FONTKEY',
},
{
name: 'n_ibizbookname_like',
prop: 'n_ibizbookname_like',
dataType: 'QUERYPARAM'
},
{
name: 'n_price_gtandeq',
prop: 'n_price_gtandeq',
dataType: 'QUERYPARAM'
},
{
name:'size',
......
......@@ -70,11 +70,6 @@ export default class Usr4Model {
prop: 'n_ibizbookname_like',
dataType: 'QUERYPARAM'
},
{
name: 'n_price_gtandeq',
prop: 'n_price_gtandeq',
dataType: 'QUERYPARAM'
},
{
......
......@@ -964,7 +964,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.fetchAction) {
this.$Notice.error({
title: this.$t("app.commonWords.wrong") as string,
desc: "IBIZOrderDetailSGridView9" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
desc: "IBIZOrderDetailSGridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
});
return;
}
......@@ -1123,7 +1123,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.removeAction) {
this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderDetailSGridView9' + (this.$t('app.gridpage.notConfig.removeAction') as string)
desc: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.removeAction') as string)
});
return;
}
......@@ -1237,7 +1237,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public addBatch(arg: any = {}): void {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView9'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return;
}
if(!arg){
......@@ -2132,7 +2132,7 @@ export default class MainBase extends Vue implements ControlInterface {
try {
if (Object.is(item.rowDataState, 'create')) {
if (!this.createAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView9'+(this.$t('app.gridpage.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.createAction') as string) });
} else {
Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context);
......@@ -2141,7 +2141,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
}else if (Object.is(item.rowDataState, 'update')){
if (!this.updateAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView9'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
} else {
Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context);
......@@ -2217,7 +2217,7 @@ export default class MainBase extends Vue implements ControlInterface {
if(!this.loaddraftAction){
this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderDetailSGridView9' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
desc: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
});
return;
}
......
version: "3.2"
services:
demo-app-web:
image: dstimage
ports:
- "22:22"
networks:
- agent_network
#logging:
# driver: loki
# options:
# loki-url: "http://172.16.240.111:3100/loki/api/v1/push"
# max-size: "50m"
# max-file: "10"
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.240.110
- SERVER_PORT=22
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.240.110:8848
- SPRING_CLOUD_NACOS_CONFIG_SERVER-ADDR=172.16.240.110:8848
- SPRING_APPLICATION_NAME=demosys-web
- NACOS=172.16.240.110:8848
- SEATA_REGISTRY_NACOS_SERVER-ADDR=172.16.240.110:8848
- SEATA_ENABLED=true
deploy:
resources:
limits:
memory: 800M
reservations:
memory: 400M
mode: replicated
replicas: 1
restart_policy:
condition: on-failure
max_attempts: 3
window: 120s
networks:
agent_network:
driver: overlay
attachable: true
......@@ -55,6 +55,48 @@
git clone -b master $para2 demosys/
export NODE_OPTIONS=--max-old-space-size=4096
cd demosys/
mkdir -p /var/lib/jenkins/appcache/EA54E35C-DA18-4FCE-8058-197C10BF5508
if [ -e app_Web/app/vue.config.js ]
then
mv -f demo-boot/src/main/docker/demo-app-web.yaml app_Web/app/swarm.yaml
mv -f demo-boot/src/main/docker/Dockerfile-APP app_Web/app/Dockerfile
mv -f demo-boot/src/main/docker/gateway-web.yml app_Web/app/application-gateway.yml
cd app_Web/app
else
mv -f demo-boot/src/main/docker/demo-app-web.yaml app_Web/swarm.yaml
mv -f demo-boot/src/main/docker/Dockerfile-APP app_Web/Dockerfile
mv -f demo-boot/src/main/docker/gateway-web.yml app_Web/application-gateway.yml
cd app_Web
fi
sed -i "s#dstimage#$para5#g" swarm.yaml
if [[ $para3 = all ]];then
sed -i "s#BaseUrl#//BaseUrl#g" public/environments/environment.js
sed -i "3a BaseUrl: '/demosys__web'," public/environments/environment.js
sed -i "s#outputDir#//outputDir#g" vue.config.js
yarn
ln -s /var/lib/jenkins/appcache/EA54E35C-DA18-4FCE-8058-197C10BF5508 node_modules/.cache
set +e
if [ -e app/vue.config.js ]
then
ln -s ../../../../demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web ./public/assets/model
else
ln -s ../../../demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web ./public/assets/model
fi
set -e
yarn build
else
if [ -e app/vue.config.js ]
then
mv ../../demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web model
else
mv ../demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web model
fi
sed -i "s#srcimagename#$para4#g" Dockerfile-MODEL
mv Dockerfile-MODEL Dockerfile
fi
docker build -t $para5 .
docker push $para5
docker -H $para1 stack deploy --compose-file=swarm.yaml iBizDemo --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
......
FROM ibiz4j/ibizlab-gateway:2.4.0.2
ENV TZ=Asia/Shanghai
EXPOSE 51001
WORKDIR /
COPY dist /dist
ADD application-gateway.yml /application-gateway.yml
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-app-web
labels:
app: demo-app-web
spec:
replicas: 1
selector:
matchLabels:
app: demo-app-web
template:
metadata:
labels:
app: demo-app-web
spec:
imagePullSecrets:
- name: aly-shanghai
containers:
- name: demo-app-web
image: registry.cn-shanghai.aliyuncs.com/ibizsys/demo-app-web:latest
imagePullPolicy: Always
ports:
- containerPort: 51001
env:
- name: SPRING_CLOUD_NACOS_DISCOVERY_IP
value: "172.16.240.110"
- name: SERVER_PORT
value: "51001"
- name: SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR
value: "172.16.240.110:8848"
- name: NACOS
value: "172.16.240.110:8848"
- name: SEATA_REGISTRY_NACOS_SERVER-ADDR
value: "172.16.240.110:8848"
- name: SEATA_ENABLED
value: "true"
volumeMounts:
- name: data
mountPath: /app/file
volumes:
- name: data
persistentVolumeClaim:
claimName: demo-date-pvc-nfs
---
apiVersion: v1
kind: Service
metadata:
name: demo-app-web
labels:
app: demo-app-web
spec:
type: NodePort
ports:
- name: http
port: 51001
targetPort: 51001
nodePort: 51001
protocol: TCP
selector:
app: demo-app-web
version: "3.2"
services:
demo-app-web:
image: dstimage
ports:
- "51001:51001"
networks:
- agent_network
#logging:
# driver: loki
# options:
# loki-url: "http://172.16.240.111:3100/loki/api/v1/push"
# max-size: "50m"
# max-file: "10"
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.240.110
- SERVER_PORT=51001
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.240.110:8848
- SPRING_CLOUD_NACOS_CONFIG_SERVER-ADDR=172.16.240.110:8848
- SPRING_APPLICATION_NAME=demo-app-web
- IBIZ_GATEWAY_PREFIX=demosys__web
- IBIZ_GATEWAY_DEFAULTSERVICEID=demosys
- IBIZ_GATEWAY_DEFAULTAPI=demoapi
- NACOS=172.16.240.110:8848
- SEATA_REGISTRY_NACOS_SERVER-ADDR=172.16.240.110:8848
- SEATA_ENABLED=true
deploy:
resources:
limits:
memory: 800M
reservations:
memory: 400M
mode: replicated
replicas: 1
restart_policy:
condition: on-failure
max_attempts: 3
window: 120s
volumes:
- "nfs:/app/file"
volumes:
nfs:
driver: local
driver_opts:
type: "nfs"
o: "addr=172.16.240.140,rw"
device: ":/data/nfs"
networks:
agent_network:
driver: overlay
attachable: true
spring:
cloud:
gateway:
discovery:
locator:
enabled: false
lowerCaseServiceId: true
routes: #配置网关路由规则
- id: cloud_uaa
uri: lb://${ibiz.ref.service.uaa:ibzuaa-api}
order: 10
predicates:
- Path=/demosys__web/v7/**,/demosys__web/uaa/**,/demosys__web/sysauthlogs
filters:
- StripPrefix=1
- id: ibizcloud_ou
uri: lb://${ibiz.ref.service.ou:ibzou-api}
order: 20
predicates:
- Path=/demosys__web/ibzemployees**,/demosys__web/sysemployees**,/demosys__web/ibzdepartments**,/demosys__web/sysdepartments**,/demosys__web/ibzorganizations**,/demosys__web/sysorganizations**
filters:
- StripPrefix=1
- id: cloud_oss
uri: lb://${ibiz.ref.service.disk:ibzdisk-api}
order: 40
predicates:
- Path=/demosys__web/ibizutil/**,/demosys__web/net-disk/**
filters:
- StripPrefix=1
- id: cloud_conf
uri: lb://${ibiz.ref.service.conf:ibzuaa-api}
order: 50
predicates:
- Path=/demosys__web/configs/**
filters:
- StripPrefix=1
- id: cloud_dict
uri: lb://${ibiz.ref.service.dict:ibzdict-api}
order: 60
predicates:
- Path=/demosys__web/dictionar**/**
filters:
- StripPrefix=1
- id: cloud_workflow
uri: lb://${ibiz.ref.service.wf:ibzwf-api}
order: 30
predicates:
- Path=/demosys__web/wfcore/**
filters:
- StripPrefix=1
- id: gw-default-appdata
uri: lb://${ibiz.ref.service.demosys:demosys}
order: 101
predicates:
- Path=/demosys__web/appdata
filters:
- StripPrefix=1
- PrefixPath=/demosys
- id: gw-default-api
uri: lb://${ibiz.ref.service.demosys:demosys}
order: 102
predicates:
- Path=/demosys__web/**
filters:
- StripPrefix=1
- PrefixPath=/demosys/demoapi
- id: gw-default
uri: lb://${ibiz.ref.service.demosys:demosys}
order: 900
predicates:
- Path=/demosys/**
filters:
- StripPrefix=1
- PrefixPath=/demosys
- id: gw-default-model
uri: lb://${spring.application.name}
order: 101
predicates:
- Path=/demosys__web/remotemodel/**
filters:
- StripPrefix=2
- PrefixPath=/assets/model
......@@ -4,7 +4,7 @@
"name" : "MySQL5",
"getPSDEDataQueryCodeConds" : [ {
"condType" : "CUSTOM",
"customCond" : "( t1.`IBIZSAMPLE0006ID` = ${srfdatacontext('IBIZSAMPLE0006ID','{\"defname\":\"IBIZSAMPLE0006ID\",\"dename\":\"IBIZSAMPLE0007\"}')} )",
"customCond" : "( t1.`IBIZSAMPLE0006ID` = #{ctx.datacontext.ibizsample0006id} )",
"name" : "查询条件"
} ],
"getPSDEDataQueryCodeExps" : [ {
......
......@@ -4,7 +4,7 @@
"name" : "MySQL5",
"getPSDEDataQueryCodeConds" : [ {
"condType" : "CUSTOM",
"customCond" : "( t1.`IBIZSAMPLE0003ID` = ${srfdatacontext('nodeid','{\"defname\":\"IBIZSAMPLE0003ID\",\"dename\":\"IBIZSAMPLE0014\"}')} )",
"customCond" : "( t1.`IBIZSAMPLE0003ID` = #{ctx.datacontext.nodeid} )",
"name" : "查询条件"
} ],
"getPSDEDataQueryCodeExps" : [ {
......
......@@ -8,7 +8,7 @@
"name" : "查询条件"
}, {
"condType" : "CUSTOM",
"customCond" : "( t1.`ADDRESS` = ${srfdatacontext('address','{\"defname\":\"ADDRESS\",\"dename\":\"IBIZSUPPLIER\"}')} AND t1.`EMAIL` = ${srfdatacontext('email','{\"defname\":\"EMAIL\",\"dename\":\"IBIZSUPPLIER\"}')} AND t1.`SUPPLIERNAME` = ${srfdatacontext('suppliername','{\"defname\":\"SUPPLIERNAME\",\"dename\":\"IBIZSUPPLIER\"}')} )",
"customCond" : "( t1.`ADDRESS` = #{ctx.datacontext.address} AND t1.`EMAIL` = #{ctx.datacontext.email} AND t1.`SUPPLIERNAME` = #{ctx.datacontext.suppliername} )",
"name" : "查询条件"
} ],
"getPSDEDataQueryCodeExps" : [ {
......
......@@ -12,30 +12,6 @@
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSDETreeColumns" : [ {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "归还日期",
"codeName" : "returntime",
"columnType" : "DEFGRIDCOLUMN",
......@@ -47,6 +23,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "出版社",
"codeName" : "press",
......@@ -71,6 +59,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -31,18 +31,6 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
......@@ -55,6 +43,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -46,30 +46,6 @@
"id" : "GANTT"
},
"getPSDETreeColumns" : [ {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "归还日期",
"codeName" : "returntime",
"columnType" : "DEFGRIDCOLUMN",
......@@ -81,6 +57,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "出版社",
"codeName" : "press",
......@@ -105,6 +93,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -111,18 +111,6 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
......@@ -135,6 +123,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册