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。"

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

相关推荐
毕小宝13 小时前
Nacos 3.1.2 适配 PG 数据库插件打包全流程分享
nacos·jdk17
加藤不太惠3 天前
Nacos简单实用集群创建
java·开发语言·nacos
南部余额3 天前
Nacos 从入门到实战:一站式注册中心与配置中心详解
nacos·注册中心·配置中心·命名空间·分组·临时实例·永久实例
加藤不太惠9 天前
安装nacos注意事项
nacos
rchmin9 天前
Nacos配置中心避坑指南:灵活配置 server-addr 的坑
分布式·nacos·动态配置
毕小宝9 天前
Nacos 3.2.0 升级问题汇总
nacos
0xDevNull13 天前
Spring Boot 3.x 整合 Nacos 全栈实战教程
java·spring boot·nacos
色空大师16 天前
【nacos下载安装】
java·linux·nacos·ubantu
kaizq21 天前
Python-Nacos电商订单分布微服系统开发
python·nacos·分布微服务·ai-ima-glm·电商订单
zs宝来了24 天前
Nacos 服务发现与配置中心原理:AP 架构与 Distro 协议
nacos·服务发现·配置中心·ap架构·distro协议