%PUBPRJ%-app-%APP_PKGPATH%.yaml.ftl 6.4 KB
Newer Older
ibizdev's avatar
ibizdev committed
1 2 3
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
4
<#assign httpPort = "8080">
sq3536's avatar
sq3536 committed
5 6
<#assign nacosUrl = "127.0.0.1:8848" >
<#assign redisHost = "127.0.0.1" >
7 8 9 10
<#assign redisPort = "6379" >
<#assign redisDataBase = "0" >
<#assign dbUserName="root">
<#assign dbPassWord="123456">
11
<#assign dbUrl="jdbc:mysql://127.0.0.1:3306/"+sys.name+"?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true">
12
<#assign dbDriver="com.mysql.jdbc.Driver">
13
<#if sysrun?? && sysrun.getPSDevSlnMSDepApp()??>
14 15 16 17 18 19 20
    <#assign depApp=sysrun.getPSDevSlnMSDepApp()>
    <#if depApp.getHttpPort()??>
        <#assign httpPort = sysrun.getPSDevSlnMSDepApp().getHttpPort()?c>
    </#if>
    <#if depApp.getPSDCMSPlatformNode()??>
        <#assign appPlatformNode=depApp.getPSDCMSPlatformNode()>
        <#assign appPlatform=depApp.getPSDCMSPlatform()>
sq3536's avatar
sq3536 committed
21 22
        <#if appPlatform.getUserParam("nacos","127.0.0.1:8848")??>
            <#assign nacosUrl = appPlatform.getUserParam("nacos","127.0.0.1:8848")>
23
        </#if>
sq3536's avatar
sq3536 committed
24 25 26 27
        <#if depApp.getUserParam("spring.redis.host","")?? && depApp.getUserParam("spring.redis.host","")!="">
            <#assign redisHost = depApp.getUserParam("spring.redis.host","")>
        <#elseif appPlatform.getUserParam("spring.redis.host","")?? && appPlatform.getUserParam("spring.redis.host","")!="">
            <#assign redisHost = appPlatform.getUserParam("spring.redis.host","")>
28
        </#if>
sq3536's avatar
sq3536 committed
29 30 31 32
        <#if depApp.getUserParam("spring.redis.port","")?? && depApp.getUserParam("spring.redis.port","")!="">
            <#assign redisPort = depApp.getUserParam("spring.redis.port","")>
        <#elseif appPlatform.getUserParam("spring.redis.port","")?? && appPlatform.getUserParam("spring.redis.port","")!="">
            <#assign redisPort = appPlatform.getUserParam("spring.redis.port","")>
ibizdev's avatar
ibizdev committed
33
        </#if>
sq3536's avatar
sq3536 committed
34 35 36 37
        <#if depApp.getUserParam("spring.redis.database","")?? && depApp.getUserParam("spring.redis.database","")!="">
            <#assign redisDataBase = depApp.getUserParam("spring.redis.database","")>
        <#elseif appPlatform.getUserParam("spring.redis.database","")?? && appPlatform.getUserParam("spring.redis.database","")!="">
            <#assign redisDataBase = appPlatform.getUserParam("spring.redis.database","")>
38 39 40
        </#if>
    </#if>
</#if>
41
<#comment>数据库配置</#comment>
42 43 44 45 46 47 48
<#if sysrun.getPSDBDevInst()??>
    <#assign sysRunDBInst = sysrun.getPSDBDevInst()>
    <#assign dbUserName=sysRunDBInst.getUserName()>
    <#assign dbPassWord=sysRunDBInst.getPassword()>
    <#assign dbUrl=sysRunDBInst.getConnUrl()>
    <#if (sysRunDBInst.getDBType()=='MYSQL5')>
        <#assign dbDriver="com.mysql.jdbc.Driver">
49
        <#assign dbUrl=dbUrl+"&allowMultiQueries=true">
50 51 52 53 54 55 56 57 58 59
    <#elseif (sysRunDBInst.getDBType()=='DB2')>
        <#assign dbDriver="com.ibm.db2.jcc.DB2Driver">
    <#elseif (sysRunDBInst.getDBType()=='ORACLE')>
        <#assign dbDriver="oracle.jdbc.driver.OracleDriver">
    <#elseif (sysRunDBInst.getDBType()=='SQLSERVER')>
        <#assign dbDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver">
    <#elseif (sysRunDBInst.getDBType()=='POSTGRESQL')>
        <#assign dbDriver="org.postgresql.Driver">
    <#elseif (sysRunDBInst.getDBType()=='PPAS')>
        <#assign dbDriver="com.edb.Driver">
ibizdev's avatar
ibizdev committed
60 61 62 63 64 65 66 67 68 69
    </#if>
</#if>
version: "3.2"
services:
  ${pub.getCodeName()?lower_case}-app-${app.getPKGCodeName()?lower_case}:
    image: registry.cn-shanghai.aliyuncs.com/ibizsys/${pub.getCodeName()?lower_case}-app-${app.getPKGCodeName()?lower_case}:latest
    ports:
      - "${httpPort}:${httpPort}"
    networks:
      - agent_network
70 71 72 73
  <#if sysrun?? && sysrun.getPSDevSlnMSDepApp()?? && sysrun.getPSDevSlnMSDepApp().getPSDCMSPlatformNode()??>
    <#assign depApp=sysrun.getPSDevSlnMSDepApp()>
    <#assign appPlatformNode=sysrun.getPSDevSlnMSDepApp().getPSDCMSPlatformNode()>
    <#assign appPlatform=sysrun.getPSDevSlnMSDepApp().getPSDCMSPlatform()>
sq3536's avatar
sq3536 committed
74
    environment:
75
      <#if appPlatformNode.getSSHIPAddr()??>
sq3536's avatar
sq3536 committed
76
      - SPRING_CLOUD_NACOS_DISCOVERY_IP=${appPlatformNode.getSSHIPAddr()}
sq3536's avatar
sq3536 committed
77
      </#if>
78
      <#comment>系统运行参数设置,从SysRun中获取到当前部署相关信息</#comment>
sq3536's avatar
sq3536 committed
79 80
      - SERVER_PORT=${httpPort}
      - SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=${nacosUrl}
sq3536's avatar
sq3536 committed
81 82 83 84 85 86 87 88
      - SPRING_REDIS_HOST=${redisHost}
      - SPRING_REDIS_PORT=${redisPort}
      - SPRING_REDIS_DATABASE=${redisDataBase}
      - SPRING_DATASOURCE_USERNAME=${dbUserName}
      - SPRING_DATASOURCE_PASSWORD=${dbPassWord}
      - SPRING_DATASOURCE_URL=${dbUrl}
      - SPRING_DATASOURCE_DRIVER-CLASS-NAME=${dbDriver}
      - SPRING_DATASOURCE_DEFAULTSCHEMA=${dbUserName}
89
      <#comment>输出前端应用自定义参数替换标准参数</#comment>
90 91 92
      <#if depApp.getUserParamNames()??>
          <@outputUserParam depApp depApp.getUserParamNames()/>
      </#if>
93
      <#comment>输出微服务平台自定义参数替换标准参数</#comment>
94
      <#if appPlatform.getUserParamNames()??>
95
        <@outputUserParam appPlatform appPlatform.getUserParamNames()/>
96 97
      </#if>
  </#if>
ibizdev's avatar
ibizdev committed
98
    deploy:
99 100 101 102 103
      resources:
           limits:
               memory: 800M
           reservations:
               memory: 400M    
ibizdev's avatar
ibizdev committed
104 105
      mode: replicated
      replicas: 1
106 107 108 109
      restart_policy:
        condition: on-failure
        max_attempts: 3
        window: 120s
110 111 112 113 114 115 116 117 118 119
    volumes:
      - "nfs:/app/file"

volumes:
  nfs:
    driver: local
    driver_opts:
      type: "nfs"
      o: "addr=172.16.240.109,rw"
      device: ":/nfs"
120

ibizdev's avatar
ibizdev committed
121 122 123
networks:
  agent_network:
    driver: overlay
124 125 126
    attachable: true

<#comment>输出用户自定义参数</#comment>
127
<#macro outputUserParam paramObj paramList>
128
  <#list paramList as param>
sq3536's avatar
sq3536 committed
129
    <#assign userParamkey=param?upper_case?replace(".","_")>
130 131
    <#comment>nacos、数据库连接等信息从sysRun中获取</#comment>
     <#if userParamkey!="SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR" && userParamkey!="SPRING_REDIS_HOST" &&
sq3536's avatar
sq3536 committed
132
     userParamkey!="SERVER_PORT" &&userParamkey!="SPRING_REDIS_PORT" &&userParamkey!="SPRING_REDIS_DATABASE"
133 134 135
     &&userParamkey!="SPRING_DATASOURCE_USERNAME" &&userParamkey!="SPRING_DATASOURCE_PASSWORD"
     &&userParamkey!="SPRING_DATASOURCE_URL" &&userParamkey!="SPRING_DATASOURCE_DRIVER-CLASS-NAME" &&userParamkey!="SPRING_DATASOURCE_DEFAULTSCHEMA">
      <#comment>扩展标准配置:用户配置参数替换标准配置(application-sys.yml)</#comment>
136
      <#if !P.exists('AppDeployUserParam',param)>
sq3536's avatar
sq3536 committed
137
      - ${userParamkey}=${paramObj.getUserParam(param,"")}
138
      </#if>
139
     </#if>
140 141
  </#list>
</#macro>