利用递归函数远程部署制品文件夹的方法及装置制造方法及图纸

技术编号:34127384 阅读:33 留言:0更新日期:2022-07-14 14:33
本申请公开一种利用递归函数远程部署制品文件夹的方法及装置,其中方法包括:将本地的制品文件夹的全名称和远程部署服务器的部署目录分别作为递归函数的第一个参数和第二个参数,调用递归函数;从第一个参数获取制品文件夹的名称并拼接至第二个参数后面以形成部署文件夹的全名称,利用该全名称远程创建部署文件夹;遍历制品文件夹下的文件和子文件夹,将获取到的文件的文件名拼接至部署文件夹的全名称的后面形成文件部署全名称,以及传输该文件为远程部署服务器中以文件部署全名称定义的文件,如果存在子文件夹,获取该子文件夹的名称并拼接在第一个参数后面作为新的第一个参数,将部署文件夹的全名称作为新的第二个参数,调用递归函数。调用递归函数。调用递归函数。

【技术实现步骤摘要】
利用递归函数远程部署制品文件夹的方法及装置


[0001]本申请涉及部署制品文件夹
,具体涉及一种利用递归函数远程部署制品文件夹的方法及装置。

技术介绍

[0002]现有的devops流水线在部署文件夹类型制品时,通常是在部署前对文件夹进行压缩操作,生成一个单独的二进制文件,然后通过上传该二进制文件到部署服务器后,调用远程命令对该二进制文件进行解压缩处理,然后删除原二进制文件。然而,在部署服务器上执行解压缩命令时,部署服务器可能没有可利用的解压缩命令,这会导致文件夹类型制品部署失败,降低部署效率。常见的压缩格式有zip,rar,jar,7z,cab,ace,gz,bz2等,不同的压缩格式需要不同的解压工具进行解压。
[0003]因此,有必要提供一种部署制品文件夹的方法,无需解压缩操作。

技术实现思路

[0004]本申请的目的在于提供一种利用递归函数远程部署制品文件夹的方法、装置、电子设备及计算机可读存储介质,无需解压缩操作,有利于避免部署失败的情况发生。
[0005]为实现上述目的,本申请提供了一种利用递归函数远程部署制品文件夹的方法,包括:
[0006]将本地的制品文件夹的全名称作为递归函数的初始的第一个参数,将远程部署服务器的部署目录作为所述递归函数的初始的第二个参数,调用所述递归函数;
[0007]从所述初始的第一个参数中获取所述制品文件夹的名称;
[0008]将所述制品文件夹的名称拼接至所述初始的第二个参数后面以形成部署文件夹的全名称,并在所述远程部署服务器上利用该全名称远程创建所述部署文件夹;
[0009]遍历所述制品文件夹下的文件和子文件夹,如果存在文件,则获取该文件对应的文件名并拼接至所述部署文件夹的全名称的后面形成文件部署全名称,以及传输该文件至所述远程部署服务器并成为所述远程部署服务器中以所述文件部署全名称定义的文件,如果存在子文件夹,则获取该子文件夹的名称并拼接在所述初始的第一个参数后面作为新的第一个参数,将所述部署文件夹的全名称作为新的第二个参数,调用所述递归函数。
[0010]可选地,还包括:以路径分隔符为标识符,取所述初始的第一个参数中的最后一个所述路径分隔符后面的内容作为所述制品文件夹的名称。
[0011]可选地,所述“传输该文件至所述远程部署服务器并成为所述远程部署服务器中以所述文件部署全名称定义的文件”以scp命令执行。
[0012]可选地,所述方法为devops流水线部署制品文件夹的方法。
[0013]为实现上述目的,本申请还提供了一种利用递归函数远程部署制品文件夹的装置,包括:
[0014]调用模块,用于将本地的制品文件夹的全名称作为递归函数的初始的第一个参
数,将远程部署服务器的部署目录作为所述递归函数的初始的第二个参数,调用所述递归函数;
[0015]获取模块,用于从所述初始的第一个参数中获取所述制品文件夹的名称;
[0016]拼接及创建模块,用于将所述制品文件夹的名称拼接至所述初始的第二个参数后面以形成部署文件夹的全名称,并在所述远程部署服务器上利用该全名称远程创建所述部署文件夹;
[0017]遍历处理模块,用于遍历所述制品文件夹下的文件和子文件夹,如果存在文件,则获取该文件对应的文件名并拼接至所述部署文件夹的全名称的后面形成文件部署全名称,以及传输该文件至所述远程部署服务器并成为所述远程部署服务器中以所述文件部署全名称定义的文件,如果存在子文件夹,则获取该子文件夹的名称并拼接在所述初始的第一个参数后面作为新的第一个参数,将所述部署文件夹的全名称作为新的第二个参数,调用所述递归函数。
[0018]可选地,还包括:以路径分隔符为标识符,取所述初始的第一个参数中的最后一个所述路径分隔符后面的内容作为所述制品文件夹的名称。
[0019]可选地,所述“传输该文件至所述远程部署服务器并成为所述远程部署服务器中以所述文件部署全名称定义的文件”以scp命令执行。
[0020]可选地,所述装置为devops流水线部署制品文件夹的装置。
[0021]为实现上述目的,本申请还提供了一种电子设备,包括:
[0022]处理器;
[0023]存储器,其中存储有所述处理器的可执行指令;
[0024]其中,所述处理器配置为经由执行所述可执行指令来执行如上所述的利用递归函数远程部署制品文件夹的方法。
[0025]为实现上述目的,本申请还提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现如上所述的利用递归函数远程部署制品文件夹的方法。
[0026]本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行如上所述的利用递归函数远程部署制品文件夹的方法。
[0027]本申请将本地的制品文件夹的全名称和远程部署服务器的部署目录分别作为递归函数的第一个参数和第二个参数,由此调用递归函数执行如下操作:从第一个参数中获取制品文件夹的名称并拼接在第二个参数后面以形成部署文件夹的全名称并基于该全名称远程创建部署文件夹,接着即可遍历该制品文件夹下的文件和子文件夹,将存在的文件的文件名拼接至部署文件夹的后面形成文件部署全名称并传输该文件为远程部署服务器中以该文件部署全名称定义的文件,将存在的子文件夹的名称拼接在第一个参数的后面作为新的第一个参数,将部署文件夹的全名称作为新的第二个参数,并继续调用递归函数以针对该子文件夹进行远程部署。以此类推,只要是下一级目录下还存在文件夹,则继续调用递归函数进行处理,直至完成最低一级目录下文件夹的部署,此时远程部署服务器的部署目录下成功部署与本地的制品文件夹具有相同目录结构的文件夹。本申请提供了一种全新的部署文件夹的方法,无需解压缩操作,有利于避免部署失败的情况发生,提高了部署的成
功率。
附图说明
[0028]图1是本申请实施例中初始的第一个参数的示意图。
[0029]图2是本申请实施例中初始的第二个参数的示意图。
[0030]图3是本申请实施例中获取制品文件夹的名称的示意图。
[0031]图4是本申请实施例中拼接形成部署文件夹的全名称的示意图。
[0032]图5是本申请实施例中遍历制品文件夹中的文件和子文件夹的示意图。
[0033]图6是本申请实施例中拼接形成文件部署全名称的示意图。
[0034]图7是本申请实施例中新的第一个参数的示意图。
[0035]图8是本申请实施例中新的第二个参数的示意图。
[0036]图9是本申请实施例中获取子文件夹的名称的示意图。
[0037]图10是本申请实施例中拼接形成部署子文件夹的全名称的示意图。
[0038]图11是本申请实施例中遍历子文件夹中的文件和孙文件夹的示意图。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种利用递归函数远程部署制品文件夹的方法,其特征在于,包括:将本地的制品文件夹的全名称作为递归函数的初始的第一个参数,将远程部署服务器的部署目录作为所述递归函数的初始的第二个参数,调用所述递归函数;从所述初始的第一个参数中获取所述制品文件夹的名称;将所述制品文件夹的名称拼接至所述初始的第二个参数后面以形成部署文件夹的全名称,并在所述远程部署服务器上利用该全名称远程创建所述部署文件夹;遍历所述制品文件夹下的文件和子文件夹,如果存在文件,则获取该文件对应的文件名并拼接至所述部署文件夹的全名称的后面形成文件部署全名称,以及传输该文件至所述远程部署服务器并成为所述远程部署服务器中以所述文件部署全名称定义的文件,如果存在子文件夹,则获取该子文件夹的名称并拼接在所述初始的第一个参数后面作为新的第一个参数,将所述部署文件夹的全名称作为新的第二个参数,调用所述递归函数。2.如权利要求1所述的利用递归函数远程部署制品文件夹的方法,其特征在于,还包括:以路径分隔符为标识符,取所述初始的第一个参数中的最后一个所述路径分隔符后面的内容作为所述制品文件夹的名称。3.如权利要求1所述的利用递归函数远程部署制品文件夹的方法,其特征在于,所述“传输该文件至所述远程部署服务器并成为所述远程部署服务器中以所述文件部署全名称定义的文件”以scp命令执行。4.如权利要求1所述的利用递归函数远程部署制品文件夹的方法,其特征在于,所述方法为devops流水线部署制品文件夹的方法。5.一种利用递归函数远程部署制品文件夹的装置,其特征在于,包括:调用模块,用于将本地的制品文件夹的全名称作为递归函数的初始的第一个参数,将远程部署服务器的部署目录作为所述递归函数的初始的第二个参数,调用所述递归函数;获取模块,用于从所述初始的第一个参数中获...

【专利技术属性】
技术研发人员:潘志祥万振华王颉李华董燕
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1