CN107992326A - 基于Struts2框架的Java自动化代码发布方法 - Google Patents

基于Struts2框架的Java自动化代码发布方法 Download PDF

Info

Publication number
CN107992326A
CN107992326A CN201711375224.0A CN201711375224A CN107992326A CN 107992326 A CN107992326 A CN 107992326A CN 201711375224 A CN201711375224 A CN 201711375224A CN 107992326 A CN107992326 A CN 107992326A
Authority
CN
China
Prior art keywords
file
host
java
struts2
frames
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711375224.0A
Other languages
English (en)
Other versions
CN107992326B (zh
Inventor
程永新
孙玉颖
李强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI NEW CENTURY NETWORK Co Ltd
Original Assignee
SHANGHAI NEW CENTURY NETWORK Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI NEW CENTURY NETWORK Co Ltd filed Critical SHANGHAI NEW CENTURY NETWORK Co Ltd
Priority to CN201711375224.0A priority Critical patent/CN107992326B/zh
Publication of CN107992326A publication Critical patent/CN107992326A/zh
Application granted granted Critical
Publication of CN107992326B publication Critical patent/CN107992326B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于Struts2框架的Java自动化代码发布方法,包括如下步骤:S1)先收集待发布的上线文件和目录;S2)通过主机轮询进行自动化增量备份;通过迭代连接主机,然后执行主机上的应用工程备份脚本来实现远程主机上工程应用的全量备份;S3)将新发布的上线文件从本地上传到远程服务器的应用目录实现增量同步生产;S4)当所有的主机文件上传结束后,通过调用远程主机上的脚本文件重启远程应用。本发明提供的基于Struts2框架的Java自动化代码发布方法,通过使用Java程序来实现发布环节的自动化,能够有效地避免上线过程中的误传、漏传,大大降低了工作强度。

Description

基于Struts2框架的Java自动化代码发布方法
技术领域
本发明涉及一种自动化代码发布方法,尤其涉及一种基于Struts2框架的Java自动化代码发布方法。
背景技术
在移动通信行业从事运维工作时,其中一项很重要的工作职责就是负责移动相关渠道的生产环境代码发布工作(行业内也称为“上线”)。当时,各渠道的代码版本管控工具主要是SVN和Telelogic Synergy,SVN作为开发版本管理库,而Telelogic Synergy则是完全独立于SVN的生产代码版本管理库。简单的理解,就是开发人员的代码可以随时更新到SVN库中,但是只有被许可发布到生产环境的代码,才可以在上线前更新到TelelogicSynergy。作为配置管理就需要在上线前将Telelogic Synergy服务端中的源代码,通过Synergy客户端更新到本地后进行编译,然后将需要上线的文件提取出来,最后通过FTP工具同步到生产环境。
根据时间特征主要分为三种类型的代码发布:日常代码发布、每周一次的批量代码发布、紧急情况下的代码发布。
日常代码发布,主要是针对单个渠道或者少数几个渠道的生产环境代码更新操作,这种代码发布往往时间比较自由,当然如果涉及到服务、进程的重启操作,会影响到用户正常使用的,或者代码的发布存在一定的风险(可能会导致业务不可用的),往往会安排在22点之后进行。当然,即便普通的代码发布也会尽量避开业务高峰期(上午9点到11点,下午2点到4点)的时段。
每周一次的批量代码发布,这种代码发布往往涉及的需求众多,上线的渠道也会很多,上线的代码量也是非常的多,考虑到上线人员的休息以及对于生产环境的使用影响,往往会集中安排在每周的周二或周四晚上进行。
紧急情况下的代码发布,往往是某个渠道或者某几个渠道,产生严重的代码BUG导致批量用户投诉,或者发现了严重的安全漏洞等情况下,采用的发布模式,这种模式不受时间的影响,发现后即时修改、即时测试、即时发布修复。
图1是行业内最常见,也是最基本的一种代码发布过程的简易流程图。这种流程是直接使用FTP纯手工将代码更新到应用服务器,然后手工逐台重启应用进程。当然在同步新的代码之前,还是需要将远程应用服务器上的完整工程进行手工tar包备份。
下面的问题是基于现场实际的配置管理工作所列出来的,这些因素决定了基于纯手工的配置管理工作会产生很多的问题,主要是对配置人员的工作压力较大,且工作效率也不高,容易出现误传、漏传、漏重启的问题。
1、每周的日常代码发布、批量代码发布次数比较多。
2、单次上线所涉及到的渠道众多,每个渠道都要进行代码收集、增(全)量备份、增量上传,以及生产环境的应用重启。
3、单次上线过程中,不同的开发人员要不断修改代码Bug,导致需要频繁重复上线的操作。
4、对于批量代码同步、以及复杂的需求、项目代码上线操作,一般都会从前一天的22点一直持续到次日的5点左右,重复性的上线操作以及熬夜的疲倦等因素,也会导致配置管理人员在实际的操作过程中容易出现代码误传、漏传、进程漏启的问题。
5、上线过程中重复登录和操作生产环境,非常容易出现误操作,给生产环境带来了一定的安全隐患。
发明内容
本发明所要解决的技术问题是提供一种基于Struts2框架的Java自动化代码发布方法,能够有效地避免上线过程中的误传、漏传,大大降低了工作强度。
本发明为解决上述技术问题而采用的技术方案是提供一种基于Struts2框架的Java自动化代码发布方法,其中,包括如下步骤:S1)先收集待发布的上线文件和目录;S2)通过主机轮询进行自动化增量备份;通过迭代连接主机,然后执行主机上的应用工程备份脚本来实现远程主机上工程应用的全量备份;S3)将新发布的上线文件从本地上传到远程服务器的应用目录实现增量同步生产;S4)当所有的主机文件上传结束后,通过调用远程主机上的脚本文件重启远程应用。
上述的基于Struts2框架的Java自动化代码发布方法,其中,所述生产环境的工程代码按静态资源文件和动态后台Java程序相关的文件分开在不同的服务器上进行存储;所述步骤S1还包括在上线时,程序代码根据文件的后缀名来判断对应的文件是动态文件,还是静态文件;动态文件则迭代上传到本地的动态服务器,静态文件则上传到本地的静态资源服务器;然后在外网刷新缓存,将本地静态资源服务器上的静态资源文件同步到远程CDN服务器,这样在用户访问网页时,通过最近的路由打开页面资源,加速网站页面的访问速度;所述静态资源文件包括静态html页面、图片、JS样式脚本和CSS样式脚本,所述后台Java程序相关的文件包括class、xml和propeties文件。
上述的基于Struts2框架的Java自动化代码发布方法,其中,所述步骤S1包括:获取上线文件的相对路径,并与本地工程的路径进行拼接,获取到该文件在本地的绝对路径;然后通过Java IO流对这些文件进行全部收集,包括整个目录的递归复制,以及Java源文件中包含的内部类或者多线程写法的.class编译文件的收集。
上述的基于Struts2框架的Java自动化代码发布方法,其中,所述步骤S2包括:设置一个Collection集合,然后将各个主机的IP地址通过add()方法添加到集合中,在连接主机的时候,再通过Iterator对集合中的主机IP进行迭代,从而实现自动逐台登录远程主机。
上述的基于Struts2框架的Java自动化代码发布方法,其中,所述步骤S3也是通过Collection集合中添加远程主机的IP,并通过Iterator对集合中的主机IP地址进行迭代后,逐台登录到远程主机,执行文件的上传upload(),并对执行结果进行判断。
上述的基于Struts2框架的Java自动化代码发布方法,其中,所述步骤S4包括:在每台应用服务器上部署Crontab计划任务,对远程应用进程进行监控,如果远程应用进程不在就执行启动脚本,重新启动远程应用进程。
本发明对比现有技术有如下的有益效果:本发明提供的基于Struts2框架的Java自动化代码发布方法,通过使用Java程序来实现发布环节的自动化,能够有效地避免上线过程中的误传、漏传,大大降低了工作强度。
附图说明
图1为现有简易上线流程图;
图2为本发明基于Struts2框架的Java自动化代码发布流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
经过在实际代码发布过程的分析,在整个上线过程中,配置管理人员的需要完成以下的几项操作:
1)工程完整备份
在上线前,对生产环境的工程目录进行完整打包备份,以便在紧急应用故障的情况下进行整包的还原。所述生产环境的工程代码按照静态文件和动态后台Java程序相关的文件分开在不同的服务器上进行存储。在上线时,程序代码会根据文件的后缀名来判断对应的文件是动态文件,还是静态文件;动态文件则迭代上传到本地的动态服务器,静态文件则迭代上传到本地的静态资源服务器。然后在外网刷新Varnish缓存,将本地静态资源服务器上的静态资源文件同步到则同步到远程CDN服务器(Content Delivery Network,即内容分发网络),这样并在用户访问网页时,就会通过最近的路由打开页面资源,加速网站页面的访问速度,提升用户感知,从而增加用户粘性;所述前端静态资源文件包括静态html页面、图片、JS样式脚本和CSS样式文件脚本等,所述后台Java程序相关的文件包括class、xml和propeties等格式文件。
类似的命令如下:
tar-zcf/App/web2.0.tar.gz/App/web2.0
2)编译和收集上线文件
开发人员提交的上线代码通过测试后,在上线前提交到Synergy管理服务器,由配置管理员在上线前的准备阶段,将需要上线的文件同步到本地主机进行编译,然后手工将需要上线的编译后的文件取出来,整理成目录。
3)增量上传到生产环境
将收集好的上线文件,通过FTP工具逐台同步到生产环境的主机。
4)逐台重启应用进程
文件增量同步到生产环境后,配置管理人员将应用环境的进程进行手工(登录到主机后执行重启脚本)重启。
在一次又一次的代码发布的过程中,不断寻找规律并对过程进行抽象,最后发现是完全可以使用Java程序来实现部分环节的自动化,也就是通过Java程序实现增量上线代码的自动化收集、自动化轮询主机、自动化的增量备份、自动化全量备份、自动化增量同步、自动化重启远程主机。对于上面的文件收集、文件备份、文件上传操作,可以分别通过JavaIO流里面提供的FileInputSteam、FileOutputStream、BufferedReader、InputStreamReader等类里面提供的方法来实现文件的读写。
对于远程主机的工程备份、应用进程重启的操作,则可以通过调用ChannelSftp类提供的方法来实现远程SFTP登录,并执行远程主机上的Shell脚本来实现。请参见图2,本发明提供的基于Struts2框架的Java自动化代码发布方法,包括如下步骤:
S1)先收集待发布的上线文件和目录;
S2)通过主机轮询进行自动化增量备份;通过迭代连接主机,然后执行主机上的应用工程备份脚本来实现远程主机上工程应用的全量备份;
S3)将新发布的上线文件从本地上传到远程服务器的应用目录实现增量同步生产;
S4)当所有的主机文件上传结束后,通过调用远程主机上的脚本文件重启远程应用。
下面给出各步骤的主要功能及代码实现
1、待发布文件和目录的收集
以常见的Web工程为例,Web工程编译后的文件,如果没有做自定义修改的话,编译后的文件一般都是放在应用工程目录下的WebRoot目录下,图2就是myEclipse中配置的fileuploadtool这个Web工程编译后文件的默认输出目录。
根据上面的分析,本发明在上线之前取文件,其实就是将编译后的上线文件路径拿到(这些相对于WebRoot的路径需要由开发人员提供),根据开发人员提供的该文件路径,与下面本地工程的路径进行拼接,就可以获取到该文件在本地的绝对路径,如:
D:\Echn\ccm_wa\ah_web~sys\ah_web\WebRoot\WEB-INF\classes\spring\busi.xml
然后通过Java IO流将这些文件全部收集到D:\WebRoot下。
下面就是通过final关键字定义的一个字符串常量LOCAL_PREFIX_WEB,它的值就是一个名称为ah_web~sys的web工程目录。
busi.xml相对于WebRoot的路径,被记录在一个名为web_route.dat的配置文件中。
当然,这里也充分考虑到对于整个目录的递归复制,以及对于Java源文件中包含了内部类或者多线程写法的.class编译文件的收集。
1)目录的递归复制
目录递归复制主要是用于,当需要将某个文件夹下的文件(包括了文件和子目录)都发布到生产环境的时候,就可以用星号(*)来替代,这样程序在判断开发人员提供的路径的时候,如果发现文件名为*号,就会调用copyFolder()方法,递归的读取这个目录下所有的文件和子文件夹。
2)内部类的判断
对于Java源文件中包含的内部类或者多线程写法的.class编译文件的进行判断收集。
3)文件的校验
在复制文件后,为了确保文件在读写过程中没有损坏,还通过计算文件的CRC32值来对复制前后的文件进行比对,如果一致则文件就是完好的。
2、增量和全量备份
1)增量备份
所谓增量备份,就是将当晚需要上线的文件从生产服务器的某一台主机上下载到本地目录。要实现增量备份,第一步就需要通过拼接下面两个部分的文件路径,来获取到所要下载文件在远程服务器的目录。
第一部分就是上线文件在远程主机的工程目录,第二部分就是开发人员提供的所要上线的文件的相对路径,这样拼接以后就得到了需要增量备份的文件在远程服务器的路径,如:
/echn/applications/web-ah/WEB-INF/classes/spring/busi.xml
下面的方法是上面截图中sftpImp.download(local,downloadFile,sftp)方法的具体实现,准确的来说这里的download()方法是调用一个开源jar包(com.jcraft.jsch-0.1.50.jar)的get()方法,连接单台远程主机使用的是这个jar包的ChannelSftp类里面的一个getConnction()方法。本发明所要做的就是将给调用的方法传递本地化的参数。
2)全量备份
全量备份的实现其实也很简单,就是迭代连接主机,然后通过执行主机上的应用工程备份脚本来实现远程主机上工程应用的完整备份。
下面是这段逻辑的核心代码实现。
i)多台服务器的登录实现
上面使用ChannelSftp的getConnection方法连接到单台主机,那么如何连接到多台主机呢?而且还要在每一台主机连接后执行一次脚本任务呢?本发明通过主机的迭代。即定义一个Collection集合,然后将各个主机的IP地址通过add()方法添加到集合中,在连接主机的时候,再通过Iterator对集合中的主机IP进行迭代,就可以实现自动逐台登录远程主机了。
ii)远程执行备份脚本
如下面的代码实现截图,这里使用的ConnBean类和CustomTask类,是调用了另外一个开源的jar包sshexecute.jar。在执行脚本前需要对脚本添加777(即rwx)的读、写、执行权限。脚本执行结束以后,最后通过finally(finally语法块里面的定义的方法一定会被执行)来执行连接断开操作。
3、增量同步生产
增量同步生产,就是将当晚需要上线的文件从本地上传到远程服务器的应用目录。在收集完成增量上线的文件之后,程序还做了另外一件事情,就是将收集完成的目录下的文件的绝对路径写入到Web_AbsFilePath.dat配置文件文中,然后通过对这两部分的文件路径进行处理后拼接,就得到了所要上传到生产的文件在生产主机的绝对路径。
第一部分就是上线文件在远程主机的工程目录,第二部分就是开发人员提供的所要上线的文件的相对路径,这样拼接以后就得到了需要增量备份的文件在远程服务器的路径,如:
/echn/applications/web-ah/WEB-INF/classes/spring/busi.xml
同样和之前批量登录主机一样,也是通过Collection集合中添加远程主机的IP,并通过Iterator对集合中的主机IP地址进行迭代后,逐台登录到远程主机,并执行文件的上传upload(),其底层调用的方法是开源jar包(com.jcraft.jsch-0.1.50.jar)中的put()方法。
下面程序中还对upload()方法的执行结果进行了判断,如果是true的话就是成功的,如果是false,则说明文件上传失败。
底层调用的是ChannelSftp类中的put()方法。
4、远程应用重启
当所有的主机文件上传结束后,点击重启xx应用,就可以调用远程主机的stopAll.sh脚本,KILL掉所有的应用进程。但是,这里说明的时候,应用进程的重启不是通过程序来完成的,而是通过每台应用服务器上部署的Crontab计划任务,对进程进行监控,如果进程不在就执行启动脚本,把进程拉起来。这里主机的批量登录以及脚本的调用,和上面的类似,这里就不再做赘述了。
看一下其源代码中使用的方法:
shellExec.closeDomains(host,username,passwd_new)。
综上所述,本发明提供的基于Struts2框架的Java自动化代码发布方法,具体优点如下:
1.配置管理人员在代码发布过程中的大部分操作都可以在图形化的界面中完成,大大的降低了工作强度;
2.开发人员在每次上线之前,只需要提供上线文件相对于WebRoot的路径即可,在这之前都是开发人员提供完整的增量上线包;
3.在实际使用过程中,从代码的同步完成,到应用进程的重启,一般只需要两分钟左右。当然,如果单次上线的碎片化文件较多,在文件上传过程可能会需要消耗一定的时间。
4.通过自动化工具的自动上传,有效的避免了上线过程中的误传、漏传。
5.自动化工具可以针对不同的渠道,在改动非常少代码的情况下就可以实现功能模块代码的复用,对于工具的横向扩展具有一定的便捷性。
6.使用自动化工具可以避免配置管理人员在上线过程中不断需要通过FTP工具或者CRT登录远程主机,有效的避免了人为误操作。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

Claims (6)

1.一种基于Struts2框架的Java自动化代码发布方法,其特征在于,包括如下步骤:
S1)先收集待发布的上线文件和目录;
S2)通过主机轮询进行自动化增量备份;通过迭代连接主机,然后执行主机上的应用工程备份脚本来实现远程主机上工程应用的全量备份;
S3)将新发布的上线文件从本地上传到远程服务器的应用目录实现增量同步生产;
S4)当所有的主机文件上传结束后,通过调用远程主机上的脚本文件重启远程应用。
2.如权利要求1所述的基于Struts2框架的Java自动化代码发布方法,其特征在于,所述生产环境的工程代码按静态资源文件和动态后台Java程序相关的文件分开在不同的服务器上进行存储;所述步骤S1还包括在上线时,程序代码根据文件的后缀名来判断对应的文件是动态文件,还是静态文件;动态文件则迭代上传到本地的动态服务器,静态文件则上传到本地的静态资源服务器;然后在外网刷新缓存,将本地静态资源服务器上的静态资源文件同步到远程CDN服务器,这样在用户访问网页时,通过最近的路由打开页面资源,加速网站页面的访问速度;所述静态资源文件包括静态html页面、图片、JS样式脚本和CSS样式脚本,所述后台Java程序相关的文件包括class、xml和propeties文件。
3.如权利要求1所述的基于Struts2框架的Java自动化代码发布方法,其特征在于,所述步骤S1包括:获取上线文件的相对路径,并与本地工程的路径进行拼接,获取到该文件在本地的绝对路径;然后通过Java IO流对这些文件进行全部收集,包括整个目录的递归复制,以及Java源文件中包含的内部类或者多线程写法的.class编译文件的收集。
4.如权利要求1所述的基于Struts2框架的Java自动化代码发布方法,其特征在于,所述步骤S2包括:设置一个Collection集合,然后将各个主机的IP地址通过add()方法添加到集合中,在连接主机的时候,再通过Iterator对集合中的主机IP进行迭代,从而实现自动逐台登录远程主机。
5.如权利要求4所述的基于Struts2框架的Java自动化代码发布方法,其特征在于,所述步骤S3也是通过Collection集合中添加远程主机的IP,并通过Iterator对集合中的主机IP地址进行迭代后,逐台登录到远程主机,执行文件的上传upload(),并对执行结果进行判断。
6.如权利要求1所述的基于Struts2框架的Java自动化代码发布方法,其特征在于,所述步骤S4包括:在每台应用服务器上部署Crontab计划任务,对远程应用进程进行监控,如果远程应用进程不在就执行启动脚本,重新启动远程应用进程。
CN201711375224.0A 2017-12-19 2017-12-19 基于Struts2框架的Java自动化代码发布方法 Active CN107992326B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711375224.0A CN107992326B (zh) 2017-12-19 2017-12-19 基于Struts2框架的Java自动化代码发布方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711375224.0A CN107992326B (zh) 2017-12-19 2017-12-19 基于Struts2框架的Java自动化代码发布方法

Publications (2)

Publication Number Publication Date
CN107992326A true CN107992326A (zh) 2018-05-04
CN107992326B CN107992326B (zh) 2021-03-23

Family

ID=62037957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711375224.0A Active CN107992326B (zh) 2017-12-19 2017-12-19 基于Struts2框架的Java自动化代码发布方法

Country Status (1)

Country Link
CN (1) CN107992326B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580858A (zh) * 2020-05-07 2020-08-25 虎扑(上海)文化传播股份有限公司 一种代码定时发布方法及发布系统
CN111880834A (zh) * 2020-07-07 2020-11-03 成都榕慧科技有限公司 代码发布方法、装置、电子设备及计算机介质
CN112487339A (zh) * 2020-12-11 2021-03-12 杭州安恒信息技术股份有限公司 一种Web页面请求的响应方法、装置、设备及存储介质
CN113590172A (zh) * 2021-07-28 2021-11-02 北京百度网讯科技有限公司 一种代码文件发布方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347548A1 (en) * 2014-05-30 2015-12-03 Datto, Inc. Management of data replication and storage apparatuses, methods and systems
CN105354108A (zh) * 2014-08-22 2016-02-24 中兴通讯股份有限公司 一种数据备份方法及节点
CN105550073A (zh) * 2016-03-10 2016-05-04 世纪龙信息网络有限责任公司 数据库备份方法及其系统
CN106951341A (zh) * 2017-01-20 2017-07-14 天翼阅读文化传播有限公司 一种实现分布式架构的数据库备份方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347548A1 (en) * 2014-05-30 2015-12-03 Datto, Inc. Management of data replication and storage apparatuses, methods and systems
CN105354108A (zh) * 2014-08-22 2016-02-24 中兴通讯股份有限公司 一种数据备份方法及节点
CN105550073A (zh) * 2016-03-10 2016-05-04 世纪龙信息网络有限责任公司 数据库备份方法及其系统
CN106951341A (zh) * 2017-01-20 2017-07-14 天翼阅读文化传播有限公司 一种实现分布式架构的数据库备份方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
罗圣美等: "大数据容灾备份技术挑战和增量备份解决方案", 《大数据容灾备份技术挑战和增量备份解决方案 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580858A (zh) * 2020-05-07 2020-08-25 虎扑(上海)文化传播股份有限公司 一种代码定时发布方法及发布系统
CN111880834A (zh) * 2020-07-07 2020-11-03 成都榕慧科技有限公司 代码发布方法、装置、电子设备及计算机介质
CN111880834B (zh) * 2020-07-07 2024-02-09 成都榕慧科技有限公司 代码发布方法、装置、电子设备及计算机介质
CN112487339A (zh) * 2020-12-11 2021-03-12 杭州安恒信息技术股份有限公司 一种Web页面请求的响应方法、装置、设备及存储介质
CN113590172A (zh) * 2021-07-28 2021-11-02 北京百度网讯科技有限公司 一种代码文件发布方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN107992326B (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
CN107992326A (zh) 基于Struts2框架的Java自动化代码发布方法
US10430204B2 (en) System and method for cloud provisioning and application deployment
US7926051B2 (en) Automatic parallel non-dependent component deployment
CN103902542B (zh) 一种测试环境中数据库的运维方法及系统
CN105450461B (zh) 一种分流方法及网络设备
CN106843837A (zh) openstack组件容器化的构建方法
US20050102667A1 (en) Generating summaries for software component installation
CN101482817B (zh) 基于黑盒的大粒度Java构件组装方法
CN106104467A (zh) 一种自动化部署方法和终端
CN104572357A (zh) 一种用于hdfs系统的备份和恢复方法
CN105653329A (zh) 一种应用管理的方法、装置及系统
CN112631846A (zh) 一种故障演练方法、装置、计算机设备及存储介质
CN108228452A (zh) 一种基于简单工厂模式的测试方法及测试装置
CN107294771A (zh) 一种适用于大数据集群的高效部署系统以及使用方法
CN105608382A (zh) 软件维护方法与软件问题判定方法以及其相应的装置
CN105227405A (zh) 监控方法及系统
CN104915193A (zh) 一种流程引擎的处理方法和装置
CN106371868A (zh) 一种自动化测试方法、系统及测试机器
CN103778026A (zh) 对象调用方法和装置
KR101599471B1 (ko) 소스 관리 장치, 시스템 및 방법, 컴퓨터 판독 가능한 기록 매체
Thakur et al. Mitigating and patching system vulnerabilities using ansible: A comparative study of various configuration management tools for iaas cloud
CN109814911A (zh) 用于管理脚本程序的方法、装置、计算机设备及存储介质
CN107291474A (zh) 一种前端工程自动化构建系统
CN106357777A (zh) 基于web服务器的程序与数据自动同步更新的方法
CN103106217A (zh) 一种留言信息的处理方法和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant