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" ]; then
    echo "未找到命名空间 '$NAMESPACE_NAME' 的 ID。退出。"
    exit 1
fi
echo "找到命名空间 ID: $namespace_id"
# 遍历当前目录下的所有 .yaml 文件
for file in *.yaml; do
    if [ -f "$file" ]; then
        # 获取文件名(不包含扩展名)
        dataId=$(basename "$file" .yaml)

        # 读取文件内容并进行 URL 编码
        content=$(cat "$file" | jq -sR . | jq -r @uri)

        # 使用 curl 将配置文件上传到 Nacos
        echo "正在将 $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
done

echo "所有 YAML 文件已导入到 Nacos。"

然后就没有然后了,就是这么丝滑.

你可能感兴趣的:(nacos)