JHipster领域语言 (JDL) - 部署
概要
语法
部署声明如下:
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时适用 |