JHipster领域语言 (JDL) - 部署

概要

  1. 语法
  2. 示例
  3. 可用的部署选项

语法

部署声明如下:

deployment {
  <deployment option name> <deployment option value>
}
  • 与应用程序类似,部署声明通过指定选项键和值来工作

示例

简单例子

deployment {
  deploymentType docker-compose
  appsFolders [foo, bar]
  dockerRepositoryName "yourDockerLoginName"
}

多个部署

如果您需要多个部署,请按以下步骤进行:

// will be created under 'docker-compose' folder
deployment {
  deploymentType docker-compose
  appsFolders [foo, bar]
  dockerRepositoryName "yourDockerLoginName"
}

// will be created under 'kubernetes' folder
deployment {
  deploymentType kubernetes
  appsFolders [foo, bar]
  dockerRepositoryName "yourDockerLoginName"
}

每个deploymentType您可以有一个部署。 appsFolders中定义的应用程序应位于创建部署所在的文件夹中,或directoryPath中定义的文件夹中。

例如,在上面,您需要具有以下文件夹结构:

.
├── yourJdlFile.jdl
├── foo
├── bar
├── kubernetes // will be created by the JDL
└── docker-compose // will be created by the JDL

可用的部署选项

这是JDL支持的部署选项:

JDL选项名称 默认值 可选值 说明
deploymentType docker-compose docker-compose, kubernetes, openshift
directoryPath "../" 相对路径。 必须用双引号引起来
appsFolders [] 应用程序的目录名称,以逗号分隔。 必须为列表,例如[foo, bar]
clusteredDbApps [] 带有群集数据库的应用程序的目录名称,以逗号分隔。 必须为列表,例如[foo, bar]
gatewayType SpringCloudGateway 当serviceDiscoveryType为`no`时,将忽略该值
monitoring no no, prometheus
serviceDiscoveryType eureka eureka, consul, no
dockerRepositoryName Docker仓库的名称或URL,必须用双引号引起来
dockerPushCommand "docker push" 要使用的docker push命令。 必须用双引号引起来
kubernetesNamespace default 仅当DeploymentType为kubernetes时适用
kubernetesServiceType LoadBalancer LoadBalancer, NodePort, Ingress 仅当DeploymentType为kubernetes时适用
ingressDomain 当kubernetesServiceType为`Ingress`时,Ingress的域。 必须用双引号引起来。 仅当DeploymentType为kubernetes时适用
istio false true, false 仅当DeploymentType为kubernetes时适用
openshiftNamespace default 仅当DeploymentType为openshift时适用
storageType ephemeral ephemeral, persistent 仅当DeploymentType为openshift时适用