Commit Graph

78 Commits

Author SHA1 Message Date
3641593210
refactor: 调整 logger 获取方式.
调整方法名称以避免 Groovy 误将其当做 Getter 来获取脚本日志记录器.
2021-09-02 18:55:05 +08:00
f5881ddbfe
refactor: 同步调整单元测试(虽然这个算不上是单元测试).
适配更改.
2021-09-02 18:54:16 +08:00
2c1e9606e1
refactor: 调整类修饰符.
通过调整修饰符, 降低其他不必要问题出现的概率.
2021-09-02 18:53:37 +08:00
166c63fb93
feat: 添加方法协助脚本确认自身是否已经初始化完成.
添加 isInitialed 方法, 帮助脚本判断自己是否已经被哨兵初始化完成.
2021-09-02 18:51:54 +08:00
69def56d91
refactor: 调整相关类的包路径, 添加 ScriptLoggerFactory 的使用. 2021-09-02 16:28:42 +08:00
cfbe0315f0
perf: 优化数组操作.
从数组操作中移除 List 的使用(现在是纯数组操作), 添加方法缓存.
2021-09-02 15:46:01 +08:00
ead42e2b00
build: 更新依赖项版本.
已确认以下依赖项变更不会影响到当前项目的所有功能:
- org.slf4j:slf4j-api (1.7.31 -> 1.7.32)
- com.oracle.oci.sdk:oci-java-sdk-core (2.3.2 -> 2.4.0)
- com.oracle.oci.sdk:oci-java-sdk-identity (2.3.2 -> 2.4.0)
- org.codehaus.groovy:groovy-all (3.0.7 -> 3.0.8)
- com.google.code.gson:gson (2.8.7 -> 2.8.8)
- org.junit.jupiter:junit-jupiter-api (5.7.0 -> 5.7.2)
- org.junit.jupiter:junit-jupiter-engine (5.7.0 -> 5.7.2)
2021-09-02 14:45:54 +08:00
8dc7da3f3f
refactor: 调整包路径.
整理 common 包的分类.
2021-09-02 14:31:59 +08:00
8658104f7f
feat: 为脚本添加日志记录器.
- 增加 ScriptLoggerFactory, 通过 CGLIB 为 Logger 设置动态代理, 在记录日志时隐式添加 marker, 配合日志配置调整脚本日志输出, 以解决脚本无法将日志记录到日志文件中的问题.
- 调整 Trigger 日志记录器获取方式, 以解决脚本可能误用 Trigger 日志记录器的问题.
- 适当调整了部分包的日志记录级别.
2021-09-02 14:30:50 +08:00
2cd679bcaf
feat: 为 GroovyTrigger 添加 shutdown 方法.
增加 shutdown 方法用于向触发器发出停止信号, 以后有用.
2021-09-02 14:26:05 +08:00
2f225d27fe
feat: 添加 ScriptComponentFactory 以允许通过该接口实例动态生成脚本组件.
通过 ScriptComponentFactory 接口, 可以根据脚本信息动态得构造一些特定于脚本的组件, 例如日志.
本次提交同时调整了 Groovy 脚本的初始化过程, 让 ScriptInfo 的初始化能够更先于脚本 Trigger 的运行.
2021-09-02 14:23:37 +08:00
c2aa02cae3
release: 推送紧急更新版本, 修复脚本基础功能的严重问题. 2021-08-24 18:48:15 +08:00
284f0229f7
fix: 修复线程池尚未初始化的问题.
ThreadPoolTaskScheduler 需要手动初始化才能使用.
2021-08-24 18:44:46 +08:00
800bb13c9e
release: 更新版本至 0.1.0; 2021-08-20 19:49:55 +08:00
984576f5e1
fact: 添加 SSH 端口配置项.
添加 SSH 端口配置项以允许自定义 SSH 连接端口.
本次提交也补充了相应的测试项, 覆盖率 100%.
2021-08-20 18:23:45 +08:00
59f1f3e57a
docs: 更新文档目录和文档文件名. 2021-08-20 16:44:28 +08:00
88a0440541
docs: 更新文档目录. 2021-08-20 16:41:36 +08:00
3fcd506f0c
docs: 补充脚本编写文档. 2021-08-20 16:40:41 +08:00
342087cd01
fact: Supported Sftp
支持 Sftp 客户端.
2021-08-20 15:25:07 +08:00
3d249696a7
refactor: 修改脚本内组件的传递方式.
将传递脚本组件的方式由 Delegate 类属性改为 Binding, 以增加灵活性和可维护性.
2021-08-20 14:01:43 +08:00
0dc44864cd
fix: 调整 Json 字段获取方式以修复由于可选字段不存在导致加载失败的问题.
当 keyPassword 为 null 时, 由于类型检查漏洞, 会出现解析失败的问题.
2021-08-20 14:00:40 +08:00
6bd28909ae
refactor: 调整 Trigger 接收闭包的类型, 以便添加新的功能.
调整 Trigger 接收闭包的类型(Runnable -> Closure), 闭包可传递参数, 且 Trigger 为 Groovy 特有(至少目前是这样), 故调整类型以提供更多灵活性.
2021-08-20 13:59:06 +08:00
cbb1784f5e
build: 添加 Jacoco 插件, 以分析测试覆盖率.
以后有用, 目前先配置好先.
2021-08-20 02:35:15 +08:00
616179c00a
test: 添加两个完整的单元测试.
本次提交添加(补充) GroovyTriggerProvider 和 SshAuthInfoSerializer 的完整单元测试类.
2021-08-20 02:30:56 +08:00
4609e146d9
refactor: 调整编码公钥失败时的动作.
编码公钥失败时的异常不应该被隐藏, 但为了保持鲁棒性, 我决定把异常直接打印到日志中.
2021-08-20 02:29:54 +08:00
35c45a858c
refactor: 调整代码以更好的进行测试.
部分代码对测试不友好, 故在不影响原设计的情况下进行了代码调整, 以便更好的编写测试项.
2021-08-20 02:19:11 +08:00
7ac17c6ed7
fix: 修复 Ssh AuthInfo 未加载 keyPassword 的问题.
该问题原因是忘记写了.
2021-08-20 00:46:38 +08:00
8bd55ca2e4
refactor: 添加对参数的非空检查.
添加非空检查以在执行操作前将其拦截.
2021-08-20 00:33:12 +08:00
e54a9513df
style: 调整代码, 以防止造成误解.
调整 static 属性与 instance 属性的位置, 以防被视为纳入 instance 属性的一部分.
2021-08-19 23:51:21 +08:00
3d8167b3b4
fact: 添加对 Http Header 的取值.
这个属于是忘记加了的, 原本就计划要弄.
2021-08-19 23:45:54 +08:00
72685ef896
docs: 完善文档. 2021-08-19 23:45:15 +08:00
83161f81fb
style: 移除未使用的导入代码. 2021-08-19 23:44:53 +08:00
6b458020ef
docs: 完善类文档. 2021-08-19 23:43:18 +08:00
389f23d6d5
style: 移除无用导入和空行. 2021-08-19 23:43:03 +08:00
f48cdaabe9
build: 添加对 Javadoc 的配置.
其实是设置了编码而已.
2021-08-19 19:31:30 +08:00
79d18685e5
refactor: 调整类访问权, 添加文档.
调整以缩小类构造方法访问权.
2021-08-19 19:23:34 +08:00
6d5aea82a4
refactor: 调整 getInstanceState 方法的返回值.
目前遇到脚本无法直接访问 LifecycleState enum 类的情况, 所以暂时调整为返回 String.
2021-08-19 19:22:44 +08:00
39c3695df4
docs: 补充方法文档. 2021-08-19 19:19:47 +08:00
4dd6a9b695
refactor: 包装 Image 对象.
包装 Image 对象以简化脚本对 Image 的访问.
2021-08-19 19:19:11 +08:00
499c3d283c
refactor: 设置自动关闭钩子.
设置自动关闭钩子以关闭自动保存线程池.
2021-08-19 19:14:57 +08:00
d5d25dfa42
refactor: 适配更改(Git Commit: bf29faa9).
适配类名更改.
2021-08-19 19:11:38 +08:00
c92c491bd8
docs: 补充文档. 2021-08-19 19:10:12 +08:00
882eabbc71
refactor: 调整类访问权.
减小类可访问范围.
2021-08-19 19:06:22 +08:00
039a020621
refactor: 适配更改(Git Commit: bf29faa9).
适配类名更改.
2021-08-19 19:05:47 +08:00
be905b2976
refactor: 调整构造方法访问权.
最小化开放权限.
2021-08-19 19:04:28 +08:00
bf29faa9a5
refactor: 调整类名, 以更符合其意义.
更改类名和相关属性名.
2021-08-19 18:43:05 +08:00
c47ab110bc
docs: 适配更改(Git Commit: 2f97b56d).
文档根据相关修改而进行调整.
2021-08-19 18:37:11 +08:00
2f97b56de1
refactor: 调整 ScriptInfo 中的属性名(artifact -> name).
调整属性名以更适配具体意义.

BREAKING CHANGE: 该变更将影响旧版脚本的初始化过程.
更新方法:
将脚本对 ScriptInfo 的访问按如下进行更改.
旧版:
info {
    artifact 'simple-script'
    group 'org.example'
    version '1.0.0'
}

新版:
info {
    name 'simple-script'
    group 'org.example'
    version '1.0.0'
}

将 artifact 更改为 name 即可.
2021-08-19 18:35:35 +08:00
608e3195ed
feat: 增加应用配置文件的初始化功能.
如果不初始化配置文件, 将导致用户修改配置困难.
2021-08-19 18:22:09 +08:00
332bc7a6a1
fix: 修复实例管理器加载已终止实例的问题.
已终止实例已无管理必要, 可以排除.
2021-08-19 17:59:07 +08:00