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