已合并
build.sh脚本优化,解决npm 10+版本校验无法通过的问题 #593
段国强创建于 2024年2月18日
build.sh脚本优化,解决npm 10+版本校验无法通过的问题 #593
已合并
段国强创建于 2024年2月18日
refs/pull/593/head合入到master
段国强
段国强成员
2024年2月18日

【标题】(请简要描述下实现的内容) build.sh脚本优化,解决npm 10+版本校验无法通过的问题

【实现内容】: 解决build.sh脚本对npm 10+版本校验无法通过的问题,同时修改java version和maven version的校验规则

【根因分析】: 当npm版本为10+时,满足版本不低于8.11的要求,然而build.sh脚本中校验却无法通过。分析问题原因是脚本中使用字符串比较的方式来校验版本(代码如下:[ x"$NPM_VERSION" \< x"8.11" ]),而字符串的比较是按照逐个字符的ASCII码顺序进行比较的,当npm版本为10+时,第一个字符为1,小于8,因此校验不通过。

【实现方案】:
修改版本校验规则,将获取到的npm版本按照.分割,获取到主版本号和次版本的号,然后按照数字大小比较版本号是否满足要求(代码如下:[ $MAJOR_VERSION -lt 8 ] || ([ $MAJOR_VERSION -eq 8 ] && [ $MINOR_VERSION -lt 11 ]))。
增加非空校验,在进行版本校验前,首先验证获取到的NPM_VERSION是否为空,为空时则报错退出;此非空校验避免了在版本校验时因为变量为空引发的一些问题。
同步修改java version和maven version的校验规则,避免出现类似npm的问题。

issue:I91LWQ根因分析及实现方案:服务器管理-添加服务器时,后台根据“cat /etc/hostname”获取主机名,此处获取到的主机名在datakit安装企业版openGauss时会使用,用于填充xml配置文件中的服务器节点的主机名信息,而在openGasuss执行预安装时,又会根据“hostname”命令校验xml配置文件中的主机名,而两条命令获取到的主机名有可能不同,导致校验不通过,openGauss安装失败。因此为与openGauss的校验主机名的命令保持一致,避免不一致时可能出现的错误,将服务器管理中获取主机名的命令修改为“hostname”。
因为hostname不存在经常修改的情况,因此不考虑isuue中提到的实现动态获取hostname。

【关联需求或issue】:
#I91E15 #I91LWQ
【开发自验报告】:

  1. 请附上自验结果(内容或者截图)
    build.sh脚本修改自验
    修改前
    输入图片说明

修改后
输入图片说明

获取主机名命令修改自验
debug模式下,命令成功执行
输入图片说明
2. 是否可以添加fastcheck测试用例,如是,请补充fastcheck用例

3. 是否涉及资料修改,如是,在docs仓库补充资料

4. 是否考虑支撑升级和在线扩容等扩展场景

5. 是否考虑异常场景/并发场景/前向兼容/性能场景

6. 是否对其他模块产生影响

【其他说明】:

likedislike
Pull Request已成功合入, 合并人@
(感谢 段国强 的贡献)
段国强段国强成员
2024年2月18日 关联了 opengauss/openGauss-workbench Issue I91E15
opengauss_bot
opengauss_bot成员
2024年2月18日 评论:

Hey @duanguoqiang4, Welcome to openGauss Community.
All of the projects in openGauss Community are maintained by @opengauss_bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at Here to find the details.

likedislike
段国强段国强成员
2024年2月18日 指派了测试人opengauss-bot
段国强段国强成员
2024年2月18日 指派了 opengauss-bot 参与评审
opengauss_botopengauss_bot成员
2024年2月18日 添加了 &nbsp; sig/tools 标签
此处折叠了56条消息 查看更多
opengauss-bot
opengauss-bot成员
2024年2月18日 评论:

开源片段扫描

Check Name Build Details Check Result Check Detail
sca #1260 ✅ 通过 >>>
likedislike
opengauss-bot
opengauss-bot成员
2024年2月18日 评论:

静态检查

Check Name Build Details Check Result Check Detail
CodeCheck #18395 ✅ 通过 >>>
likedislike
opengauss-bot
opengauss-bot成员
2024年2月18日 评论:
Check Name Build Result Build Details
openGauss_datakit_PR SUCCESS #944
likedislike
shenzheng4
shenzheng4成员
2024年2月18日 评论:

/lgtm
/approve

likedislike
ywzq1161327784
ywzq1161327784成员
2024年2月19日 评论:

/lgtm

likedislike