feat(system): 添加系统更新管理和版本控制功能
- 新增私有化部署系统更新API接口(检查更新、选择性更新、重置等) - 实现版本管理系统,支持平台版本和服务版本对比检查 - 集成Jenkinsfile自动化构建流程,支持多种版本策略 - 添加Docker镜像版本标签管理和自动注入功能 - 实现选择性更新机制,可指定服务进行增量更新 - 完善版本日志记录和更新历史追踪功能
这个提交包含在:
父节点
01bdceec44
当前提交
0ce157f71e
@ -106,15 +106,20 @@ object UpdateSDK {
|
|||||||
* 计算文件的 SHA-256 哈希值(小写十六进制)。
|
* 计算文件的 SHA-256 哈希值(小写十六进制)。
|
||||||
*/
|
*/
|
||||||
private fun computeFileHash(file: File): String {
|
private fun computeFileHash(file: File): String {
|
||||||
val digest = MessageDigest.getInstance("SHA-256")
|
val md = MessageDigest.getInstance("SHA-256")
|
||||||
file.inputStream().use { input ->
|
file.inputStream().use { input ->
|
||||||
val buffer = ByteArray(8192)
|
val buffer = ByteArray(8192)
|
||||||
var read: Int
|
var read: Int
|
||||||
while (input.read(buffer).also { read = it } != -1) {
|
while (input.read(buffer).also { read = it } != -1) {
|
||||||
digest.update(buffer, 0, read)
|
md.update(buffer, 0, read)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return digest.joinToString("") { "%02x".format(it) }
|
val bytes = md.digest()
|
||||||
|
val sb = StringBuilder(bytes.size * 2)
|
||||||
|
for (b in bytes) {
|
||||||
|
sb.append(String.format("%02x", b.toInt() and 0xFF))
|
||||||
|
}
|
||||||
|
return sb.toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户