fix(cli): 优化生成的脚本,转义配置文件的$符号

直接循环生成启停语句,实现停止已有的,启动新增的「动态变化」功能
This commit is contained in:
2023-05-18 17:38:07 +08:00
parent 296c744b61
commit f2aac867b3
3 changed files with 89 additions and 158 deletions

View File

@@ -47,102 +47,52 @@ deploy:
services:
- name: api
source-jar: api-1.0.0-SNAPSHOT.jar
arguments:
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: gateway
source-jar: gateway-1.0.0.jar
arguments:
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: gateway-new
source-jar: gateway-1.0.0.jar
arguments:
spring_application_name: gateway-new
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: registry
source-jar: registry-1.0.0.jar
arguments:
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: queue
source-jar: queue-1.0.0.jar
replicas: 1
arguments:
data_save_enable: true
data_save_location: ${deploy.runtime.data-path}
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: service-scheduler
source-jar: service-scheduler-1.0.0-SNAPSHOT.jar
replicas: 1
arguments:
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: service-launcher-compaction-b1
source-jar: service-launcher-compaction-1.0.0-SNAPSHOT.jar
environments:
connector_hadoop_kerberos-principal: ${deploy.runtime.user}/${hostname}.hdp.dc@ECLD.COM
connector_hadoop_kerberos-principal: ${deploy.runtime.user}/$\{hostname}.hdp.dc@ECLD.COM
connector_hadoop_kerberos-keytab-path: ${deploy.runtime.kerberos-keytab-path}
connector_hudi_app-hdfs-path: ${deploy.runtime.hudi.app-hdfs-path}
connector_hudi_archive-hdfs-path: ${deploy.runtime.hudi.archive-hdfs-path}
connector_hudi_victoria-push-url: ${deploy.runtime.hudi.victoria-push-url}
arguments:
spring_application_name: service-launcher-compaction-b1
connector_cluster_cluster: ${hostname}
connector_cluster_cluster: $\{hostname}
connector_cluster_queue-name: compaction-queue-b1
connector_zookeeper_connect-url: ${deploy.runtime.zk-url}
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: service-launcher-compaction-b5
source-jar: service-launcher-compaction-1.0.0-SNAPSHOT.jar
environments:
connector_hadoop_kerberos-principal: ${deploy.runtime.user}/${hostname}.hdp.dc@ECLD.COM
connector_hadoop_kerberos-principal: ${deploy.runtime.user}/$\{hostname}.hdp.dc@ECLD.COM
connector_hadoop_kerberos-keytab-path: ${deploy.runtime.kerberos-keytab-path}
connector_hudi_app-hdfs-path: ${deploy.runtime.hudi.app-hdfs-path}
connector_hudi_archive-hdfs-path: ${deploy.runtime.hudi.archive-hdfs-path}
connector_hudi_victoria-push-url: ${deploy.runtime.hudi.victoria-push-url}
arguments:
spring_application_name: service-launcher-compaction-b5
connector_cluster_cluster: ${hostname}
connector_cluster_cluster: $\{hostname}
connector_cluster_queue-name: compaction-queue-b5
connector_zookeeper_connect-url: ${deploy.runtime.zk-url}
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: service-info-query
source-jar: service-info-query-1.0.0-SNAPSHOT.jar
replicas: 4
arguments:
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: service-yarn-query-b1
source-jar: service-yarn-query-1.0.0-SNAPSHOT.jar
replicas: 4
@@ -150,11 +100,6 @@ deploy:
yarn_cluster: b1
yarn_web-url: http://132.122.98.13:8088
spring_application_name: service-yarn-query-b1
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: service-yarn-query-b4
source-jar: service-yarn-query-1.0.0-SNAPSHOT.jar
replicas: 4
@@ -162,11 +107,6 @@ deploy:
yarn_cluster: b4
yarn_web-url: http://132.122.112.30:8088
spring_application_name: service-yarn-query-b4
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: service-yarn-query-b5
source-jar: service-yarn-query-1.0.0-SNAPSHOT.jar
replicas: 4
@@ -174,11 +114,6 @@ deploy:
yarn_cluster: b5
yarn_web-url: http://132.122.116.12:8088
spring_application_name: service-yarn-query-b5
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: service-yarn-query-b5-sync
source-jar: service-yarn-query-1.0.0-SNAPSHOT.jar
replicas: 4
@@ -186,54 +121,20 @@ deploy:
yarn_cluster: b5-sync
yarn_web-url: http://132.122.116.143:8088
spring_application_name: service-yarn-query-b5-sync
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: service-pulsar-query
source-jar: service-pulsar-query-1.0.0-SNAPSHOT.jar
replicas: 4
arguments:
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: service-zookeeper-query
source-jar: service-zookeeper-query-1.0.0-SNAPSHOT.jar
replicas: 2
arguments:
spring_cloud_connect-string: ${deploy.runtime.zk-url}
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: service-web
source-jar: service-web-1.0.0-SNAPSHOT.jar
replicas: 4
arguments:
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: service-hudi-query
source-jar: service-hudi-query-1.0.0-SNAPSHOT.jar
replicas: 5
arguments:
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}
- name: service-flink-query
source-jar: service-flink-query-1.0.0-SNAPSHOT.jar
replicas: 5
arguments:
logging_parent: ${deploy.runtime.log-path}
loki_url: ${deploy.runtime.loki-url}
datetime: ${datetime}
eureka_instance_hostname: ${hostname}
eureka_client_service-url_defaultZone: ${deploy.runtime.eureka-url}

View File

@@ -1,17 +1,31 @@
#!/bin/bash
hosts=(
<#--hosts=(
<#list hosts as host>
${host}
</#list>
)
)-->
datetime=`date +%Y%m%d%H%M%S`
for host in <#noparse>${hosts[@]}</#noparse>
log_path='${runtime.logPath}'
loki_url='${runtime.lokiUrl}'
eureka_url='${runtime.eurekaUrl}'
<#--for host in <#noparse>${hosts[@]}</#noparse>
do
hostname=`ssh $host 'echo $HOSTNAME'`
echo "$host $hostname"
ssh $host 'bash -s' < stop.sh ${runtime.jarPath}/${info.name}.jar
ssh $host "curl ftp://yyy:QeY\!68\)4nH1@132.121.122.15:2222/${info.sourceJar} -o ${runtime.jarPath}/${info.name}.jar"
ssh $host "nohup ${runtime.jdkPath} <#list environments?keys as key>-D${key?replace("_", ".")}=${environments[key]?string} </#list>-jar ${runtime.jarPath}/${info.name}.jar <#list arguments?keys as key>--${key?replace("_", ".")}=${arguments[key]?string} </#list>> /dev/null 2>&1 &"
done
ssh $host "nohup ${runtime.jdkPath} <#list environments?keys as key>-D${key?replace("_", ".")}=${environments[key]?string} </#list>-jar <#noparse>--datetime=${datetime} --hostname=${hostname} --eureka.instance.hostname=${hostname} --logging.parent=${log_path} --loki.url=${loki_url} --eureka.client.service-url.defaultZone=${eureka_url}</#noparse> ${runtime.jarPath}/${info.name}.jar <#list arguments?keys as key>--${key?replace("_", ".")}=${arguments[key]?string} </#list>> /dev/null 2>&1 &"
done-->
<#list hosts as host>
host=${host}
hostname=`ssh $host 'echo $HOSTNAME'`
echo "$host $hostname $datetime"
ssh $host 'bash -s' < stop.sh ${runtime.jarPath}/${info.name}.jar
<#if selectedHosts?seq_contains(host)>
ssh $host "curl ftp://yyy:QeY\!68\)4nH1@132.121.122.15:2222/${info.sourceJar} -o ${runtime.jarPath}/${info.name}.jar"
ssh $host "nohup ${runtime.jdkPath} <#list environments?keys as key>-D${key?replace("_", ".")}=${environments[key]?string} </#list>-jar ${runtime.jarPath}/${info.name}.jar<#noparse> --datetime=${datetime} --hostname=${hostname} --eureka.instance.hostname=${hostname} --logging.parent=${log_path} --loki.url=${loki_url} --eureka.client.service-url.defaultZone=${eureka_url}</#noparse> <#list arguments?keys as key>--${key?replace("_", ".")}=${arguments[key]?string} </#list>> /dev/null 2>&1 &"
</#if>
echo ''
</#list>