JHipsterドメイン言語 (JDL) - デプロイメント
構文
デプロイメントの宣言は以下のように行います:
deployment {
<デプロイメントオプション名> <デプロイメントオプション値>
}
- アプリケーションと同様に、オプションのキーと値を指定することでデプロイメントの宣言が機能します
例
基本の例
deployment {
deploymentType docker-compose
appsFolders [foo, bar]
dockerRepositoryName "yourDockerLoginName"
}
複数のデプロイメント
複数のデプロイメントを行いたい場合は、以下のように記述します:
// 'docker-compose'フォルダに作成されます
deployment {
deploymentType docker-compose
appsFolders [foo, bar]
dockerRepositoryName "yourDockerLoginName"
}
// 'kubernetes'フォルダに作成されます
deployment {
deploymentType kubernetes
appsFolders [foo, bar]
dockerRepositoryName "yourDockerLoginName"
}
deploymentTypeごとに1つのデプロイメントを設定できます。appsFoldersに指定されたアプリケーションは、デプロイメントを作成するフォルダまたはdirectoryPathで定義されたフォルダに配置する必要があります。
上記の場合、次のようなフォルダ構造が必要です:
.
├── yourJdlFile.jdl
├── foo
├── bar
├── kubernetes // JDLによって作成されます
└── docker-compose // JDLによって作成されます
使用可能なデプロイメントオプション
JDLでサポートされているデプロイメントオプションは以下の通りです:
| JDLオプション名 | デフォルト値 | 指定可能な値 | コメント |
|---|---|---|---|
| deploymentType | docker-compose | docker-compose, kubernetes, openshift | - |
| directoryPath | ../ | - | 相対パス。二重引用符で囲む必要があります |
| appsFolders | [] | - | アプリケーションのディレクトリ名をカンマで区切る必要があります。例: [foo, bar] |
| clusteredDbApps | [] | - | クラスタ化されたDBを持つアプリケーションのディレクトリ名。カンマで区切る必要があります。例: [foo, bar] |
| gatewayType | SpringCloudGateway | - | serviceDiscoveryTypeがnoの場合、値は無視されます |
| monitoring | no | no, prometheus | - |
| serviceDiscoveryType | consul | consul, eureka, no | - |
| dockerRepositoryName | - | - | Dockerリポジトリの名前またはURL。二重引用符で囲む必要があります |
| dockerPushCommand | docker push | - | 使用するdocker pushコマンド。二重引用符で囲む必要があります |
| kubernetesNamespace | default | - | deploymentTypeがkubernetesの場合にのみ適用 |
| kubernetesUseDynamicStorage | false | true, false | deploymentTypeがkubernetesの場合にのみ適用され、kubernetesStorageClassNameオプションが有効になります |
| kubernetesStorageClassName | - | - | deploymentTypeがkubernetesの場合にのみ適用。空のままにすることが可能(二重引用符2つ) |
| kubernetesServiceType | LoadBalancer | LoadBalancer, NodePort, Ingress | deploymentTypeがkubernetesの場合にのみ適用 |
| ingressDomain | - | - | kubernetesServiceTypeがIngressの場合のIngressのドメイン。二重引用符で囲む必要があります。deploymentTypeがkubernetesの場合にのみ適用されます |
| ingressType | nginx | nginx, gke | kubernetesのIngressタイプ。kubernetesServiceTypeがIngressに設定されている場合にのみ設定されます |
| istio | false | true, false | deploymentTypeがkubernetesの場合にのみ適用 |
| openshiftNamespace | default | - | deploymentTypeがopenshiftの場合にのみ適用 |
| storageType | ephemeral | ephemeral, persistent | deploymentTypeがopenshiftの場合にのみ適用 |
| registryReplicas | 2 | - | レプリカの数。openshiftデプロイメントタイプの場合 |