nacos配置文件快速部署另一种方法
提交nacos配置的另一种一种方法,批命令/shell:
以下脚本直接把当前目录下的所有yaml文件一键提交到nacos上
前提是要先安装curl 以及 jq 然后
把下面的shell保存为 import-all.sh 然后 chmod +x import-all.sh && ./import-all.sh 就好了.
记得修改一下的NAMESPACE_NAME与GROUP.
#!/bin/bash
clear
set -e
# Nacos 服务器地址
NAOS_URL="http://127.0.0.2:8848"
NAMESPACE_NAME="dev"
GROUP="trydone"
USERNAME="nacos"
PASSWORD="nacos"
namespace_id=""# 查询命名空间 ID
echo "查询命名空间 ID,名称为: $NAMESPACE_NAME"
namespace_id=$(curl -s -u "${USERNAME}:${PASSWORD}" "${NAOS_URL}/nacos/v1/console/namespaces" | jq -r --arg NAMESPACE_NAME "$NAMESPACE_NAME" '.data[] | select(.namespaceShowName==$NAMESPACE_NAME) | .namespace')if [ -z "$namespace_id" ]; thenecho "未找到命名空间 '$NAMESPACE_NAME' 的 ID。退出。"exit 1
fi
echo "找到命名空间 ID: $namespace_id"
# 遍历当前目录下的所有 .yaml 文件
for file in *.yaml; doif [ -f "$file" ]; then# 获取文件名(不包含扩展名)dataId=$(basename "$file" .yaml)# 读取文件内容并进行 URL 编码content=$(cat "$file" | jq -sR . | jq -r @uri)# 使用 curl 将配置文件上传到 Nacosecho "正在将 $file 导入到 Nacos..."curl -X POST "${NAOS_URL}/nacos/v1/cs/configs" \-H "Content-Type: application/x-www-form-urlencoded" \-u "${USERNAME}:${PASSWORD}" \-d "dataId=${dataId}.yaml&group=${GROUP}&namespaceId=${namespace_id}&appName=&config_tags=&tenant=${namespace_id}&content=${content}&type=yaml"echo "已导入 $file"echo "-----------------------------"fi
doneecho "所有 YAML 文件已导入到 Nacos。"
然后就没有然后了,就是这么丝滑.