Commit Graph

92 Commits

Author SHA1 Message Date
ab69189d5b
feat(sftp): Sftp 现在支持获取用户主目录.
鉴于当前尚不支持使用"~"指向用户主目录, 为此提供解决方法.
2021-09-10 02:33:33 +08:00
2006097d5f
refactor(logging): 现在日志系统将不记录 SSH 组件 INFO 以下级别的日志.
由于 SSH 组件在 Debug 级别中输出的东西实在是太多了, 所以把它屏蔽了.
2021-09-10 02:32:18 +08:00
7dcbcc3270
feat: 支持获取计算实例的主要 VNIC 信息.
增加 getPrimaryVnic 方法以获取主要的 VNIC 信息.
2021-09-10 02:30:02 +08:00
a128748b4f
feat: 支持获取帐号区域订阅信息和直接获取主区域订阅信息.
增加 regions 和 mainRegion 方法, 可快速获取帐号所订阅的所有区域, 以及主区域的信息.
2021-09-10 02:27:24 +08:00
b8b2268d2e
feat: CommandExecSession 的 waitFor(long) 方法支持通过返回值传递是否超时.
现在 waitFor(long) 方法在超过指定时间返回后, 将会通过 boolean 返回值告诉调用方是否超时.
详细信息见 Javadoc.
2021-09-10 01:25:57 +08:00
d6738d635c
fix: 修复 SSH 连接配置中的 keyPassword 设置无效的问题.
由于 mina-ssh 的设计问题, 如果手动设置 KeyIdentityProvider, 则 SshClient 中的 FilePasswordProvider 将对此无效(SshClient 的 FilePasswordProvider 只会对默认密钥路径 "~/id_rsa" 起作用), keyPassword 应直接在 FileKeyPairProvider 设置.
2021-09-09 23:46:24 +08:00
46ae196fe9
release: 发布新版本(0.1.1 -> 0.2.0). 2021-09-05 15:44:02 +08:00
e5b08bc12a
docs: 补充类文档.
补充类文档中的说明部分.
2021-09-05 15:42:45 +08:00
bec7010d43
feat: 重做 Oracle Identity 相关组件, 为脚本提供访问 Oracle Account 的组件.
重做 OracleIdentityManager, 增加 OracleAccount 与 OracleClients 对象, 使脚本可以访问 SDK, 执行更多操作.
调整 ComputeInstance 与 InstanceNetwork, SDK Client 不再直接创建, 而是使用 OracleClients 中的客户端单例.
2021-09-05 14:36:37 +08:00
6b2bd0a59d
build: 添加 OCI 对象存储 SDK 的依赖项.
添加以下依赖项:
- com.oracle.oci.sdk:oci-java-sdk-objectstorage (2.4.0)
2021-09-05 14:34:11 +08:00
749ea644f1
docs: 补充文档内容, 修复文档错误. 2021-09-05 14:32:58 +08:00
e6a81784a3
style: 忽略误报的编译警告, 调整内部字段访问权. 2021-09-05 14:31:23 +08:00
b5c3af1c19
refactor: 修正测试类未跟进更改的问题.
补充实现接口方法.
2021-09-04 16:34:48 +08:00
13d90595b7
feat: 初步添加 SSH Forwarding 功能.
添加对 SSH 转发功能的支持, 脚本可通过 SSH 会话使用.

注意: 该功能尚未得到足够的测试, 使用时遇到问题请反馈.
2021-09-02 18:58:10 +08:00
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