JHipster Domain Language (JDL) - Deployments Permalink to " JHipster Domain Language (JDL) - Deployments"
Summary Permalink to "Summary"
Syntax Permalink to "Syntax"
The deployment declaration is done as follows:
deployment {
<deployment option name> <deployment option value>
}
- Similar to applications, deployment declaration works by specifying option keys & values
Examples Permalink to "Examples"
Basic example Permalink to "Basic example"
deployment {
deploymentType docker-compose
appsFolders [foo, bar]
dockerRepositoryName "yourDockerLoginName"
}
More than one deployment Permalink to "More than one deployment"
If you want more than one deployment, here’s how you do it:
// will be created under the 'docker-compose' folder
deployment {
deploymentType docker-compose
appsFolders [foo, bar]
dockerRepositoryName "yourDockerLoginName"
}
// will be created under the 'kubernetes' folder
deployment {
deploymentType kubernetes
appsFolders [foo, bar]
dockerRepositoryName "yourDockerLoginName"
}
You can have one deployment per deploymentType. The applications defined in appsFolders should be in the same
folder where you are creating deployments or in the folder defined in directoryPath.
For example, above you need to have a folder structure like this:
.
├── yourJdlFile.jdl
├── foo
├── bar
├── kubernetes // will be created by the JDL
└── docker-compose // will be created by the JDL
Available deployment options Permalink to "Available deployment options"
Here are the deployment options supported in the JDL:
| JDL option name | Default value | Possible values | Comment |
|---|---|---|---|
| deploymentType | docker-compose | docker-compose, kubernetes, openshift | |
| directoryPath | "../" | Relative path. Must be in double quotes | |
| appsFolders | [] | Directory names for the applications separated by comma. Must be a list, example [foo, bar] | |
| clusteredDbApps | [] | Directory names for the applications with clustered DB separated by comma. Must be a list, example [foo, bar] | |
| gatewayType | SpringCloudGateway | Value is ignored when serviceDiscoveryType is `no` | |
| monitoring | no | no, prometheus | |
| serviceDiscoveryType | consul | consul, eureka, no | |
| dockerRepositoryName | The name or URL of the docker repository. Must be in double quotes | ||
| dockerPushCommand | "docker push" | The docker push command to use. Must be in double quotes | |
| kubernetesNamespace | default | Applicable only when deploymentType is kubernetes | |
| kubernetesUseDynamicStorage | false | true, false | Applicable only when deploymentType is kubernetes, enables the kubernetesStorageClassName option |
| kubernetesStorageClassName | "" | Applicable only when deploymentType is kubernetes, can be left empty (two double-quotes) | |
| kubernetesServiceType | LoadBalancer | LoadBalancer, NodePort, Ingress | Applicable only when deploymentType is kubernetes |
| ingressDomain | The domain for Ingress when kubernetesServiceType is `Ingress`. Must be in double quotes. Applicable only when deploymentType is kubernetes | ||
| ingressType | nginx | nginx, gke | The kubernetes ingress type, only set when `kubernetesServiceType` is set to Ingress |
| istio | false | true, false | Applicable only when deploymentType is kubernetes |
| openshiftNamespace | default | Applicable only when deploymentType is openshift | |
| storageType | ephemeral | ephemeral, persistent | Applicable only when deploymentType is openshift |
| registryReplicas | 2 | The number of replicas, when using the openshift deployment type |