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時適用 |