# 主机管理
主机是一切操作的基本,添加之后可以通过操作栏对该主机添加 Shell 命令、上传配置、连接终端、SFTP 传输等操作。
# 添加主机
在控制台的工具栏点击最右侧的按钮,可以打开主机的配置弹窗,之后配置对应主机的域名或者IP、端口、账号、描述等信息。
其中认证方式有两种,一种是密码登录,一种是私钥文件免密登录,二选一。选择一种之后,另一种的认证的信息会被清空。
当采用密码登录的时候,插件不会明文保存密码,而是会使用平台提供密码保存机制进行保存,因此不用担心密码明文泄漏。
主机添加后如果想要修改,可以点击操作栏的更多按钮,点击属性进行修改;点击删除则进行删除。
# 主机标签
主机的配置中,有一个叫标签的字段,这个字段可以用来对主机进行归类分组,方便后续搜索。标签由用户自己管理,可以在插件设置中添加删除。
# 添加跳板机
在配置主机的时候,除了基本设置外,还有一个代理设置,可以为不能直接访问的主机设置一个跳板机。默认不依赖跳板机,或者从已有的主机配置选择一台跳板机。选择跳板机之后,则会在下方给出主机的依赖链路图,方便在连接报错的时候检查是哪台主机的问题。
# 跳板机循环依赖
为了方便问题排查,特地针对循环依赖的情况做了检测。如果检测到由循环依赖,则会将主机标红和提示,此时如果想要连接主机,也会由有弹窗提示。主要是防止链路过长时,可能会发生循环依赖。
# 搜索主机
当控制台的主机太多时,可以通过控制台的搜索功能筛选主机。有三种方式
- 通过标签过滤,这样可以查出某个分组的主机;
- 通过关键词过滤,这样可以对主机的 域名或IP、用户名、描述这三个字段进行模糊查询
- 通过刷新按钮,当控制台发生奇奇怪怪的界面问题时,可以通过刷新按钮重新加载全部的主机信息
三种方式不能联合使用,都是单独起作用的。
# 命令管理
命令一般不会单独执行,而是搭配上传配置,在执行完上传动作之后的自动化执行。命令面板可以选中某一条命令进行编辑、删除、执行、复制。
# 添加命令
添加命令的时候,需要为命令添加名称、执行路径、命令内容。名称可以在命令很多的时候进行辨别。命令内容暂时不支持 shell 脚本,本质还是命令行执行,需要注意。另外执行命令不能是 tail -f
这种持续输出的,会导致线程阻塞。
# 命令执行
命令执行之后,它的输出会在控制台的 Console 面板进行打印
# 复制粘贴
很多时候不同主机上需要执行的命令是相同的,重新写一遍很麻烦,所以可以将目标命令进行复制后,再粘贴到其他主机上。
# 命令共享
如果觉得命令复制也很麻烦,1.3.7 版本之后,支持在服务器之间共享命令,这样其他服务器可以直接使用共享的命令
# 上传配置管理
上传配置用来指定上传哪个文件至服务器的何处,以及成功上传之后执行指定的命令(可选)。当上传的文件是文件夹时,还可以通过指定过滤条件来过滤部分文件。
上传配置可以进行添加、编辑、删除和复制。
# 配置添加
添加配置的时候,需要指定对应的配置名称、本地文件的路径(文件或者目录,或者正则表达式)、过滤条件(仅在上传目录时生效)、远程目标位置、执行命令(可选)。
配置的内容,也可以从另一个配置复制之后,直接粘贴,会自动填充内容。
关于本地文件路径的正则匹配
当选中本地文件路径右边的正则匹配图标后,你可以对某个目录之下的文件通过定义的正则表达式进行匹配和上传。
正则表达式在书写的过程中,需要按照 Java 的正则规范去写,因为是截取路径最后一个 /
之后的内容作为正则表达式的,然后传给 Pattern.compile()
方法。比如 /a/b/c/.*.jar
会截取 .*.jar
,实际使用过程中,如果自己不确定,可以写个 main 方法先验证一下正则匹配结果是否符合预期。
# 配置执行
配置执行之后,会将文件的上传信息以及命令的执行结果(若有)输出会在控制台的 Console 面板进行打印
# 复制粘贴
很多时候不同主机上需要执行的上传配置是相同的,重新写一遍很麻烦,所以可以将目标配置进行复制后,再粘贴到其他主机上。
复制粘贴的时候不会对命令进行填充,因为不同服务器的命令可能不同,因此需要先将命令创建,之后手动选择命令。