一种启动方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:32458634 阅读:12 留言:0更新日期:2022-02-26 08:42
本公开提供了一种启动方法、装置、计算机设备和存储介质,其中,该方法包括:响应当前修改的代码分支满足目标条件,触发预构建功能;当前修改的代码分支为目标开发项目对应的代码分支;目标条件是指代码分支对在线集成开发环境WebIDE中容器的初始化过程存在影响;按照预设代码拉取方式,获取目标开发项目对应的第一仓库代码;并按照当前修改的代码分支对应的代码版本信息,从第一仓库代码中,获取用于构建WebIDE对应的运行依赖的初始化任务代码;执行初始化任务代码,得到并存储第一目标构建产物;其中,第一目标构建产物用于生成WebIDE中容器运行所需的运行依赖。本公开实施例能够提高开发效率。高开发效率。高开发效率。

【技术实现步骤摘要】
一种启动方法、装置、计算机设备和存储介质


[0001]本公开涉及代码开发
,具体而言,涉及一种启动方法、装置、计算机设备和存储介质。

技术介绍

[0002]WebIDE是一种针对编程开发人员的在线集成开发环境,其具有编程人员无需本地安装开发环境,只需打开浏览器就能立即开发的优越特性。通常情况下,一个目标开发项目往往会被切分成多个子开发任务、由不同的用户进行开发。
[0003]但用户在利用WebIDE进行子开发任务的开发时,需要在服务端为该子开发任务分配容器之后,以人工的方式,自主进行WebIDE中容器对应的运行依赖的创建,大大降低了开发效率。

技术实现思路

[0004]本公开实施例至少提供一种启动方法、装置、计算机设备和存储介质。
[0005]第一方面,本公开实施例提供了一种启动方法,包括:
[0006]响应当前修改的代码分支满足目标条件,触发预构建功能;所述当前修改的代码分支为目标开发项目对应的代码分支;所述目标条件是指所述代码分支对在线集成开发环境WebIDE中容器的初始化过程存在影响;
[0007]按照预设代码拉取方式,获取所述目标开发项目对应的第一仓库代码;并按照所述当前修改的代码分支对应的代码版本信息,从所述第一仓库代码中,获取用于构建所述WebIDE对应的运行依赖的初始化任务代码;
[0008]执行所述初始化任务代码,得到并存储第一目标构建产物;其中,所述第一目标构建产物用于生成所述WebIDE中容器运行所需的运行依赖。
[0009]在一种可能的实施方式中,在得到并存储第一目标构建产物之后,还包括:
[0010]响应于针对所述目标开发项目中任一开发任务的启动请求,确定所述启动请求对应的待匹配代码版本信息,并在确定所述待匹配代码版本信息和所述第一目标构建产物对应的代码版本信息相匹配的情况下,启动执行所述任一开发任务的目标容器;
[0011]获取存储的所述第一目标构建产物,并将所述第一目标构建产物添加在所述目标容器对应的工作目录中;
[0012]基于所述目标容器对应的工作目录,生成所述任一开发任务对应的WebIDE页面。
[0013]在一种可能的实施方式中,所述启动执行所述任一开发任务的目标容器,包括:
[0014]获取所述目标开发项目对应的第一仓库代码;
[0015]基于所述第一仓库代码,确定所述目标开发项目对应的启动任务中的第一执行任务;所述第一执行任务为默认的执行任务;
[0016]在启动所述目标容器的过程中,执行所述第一执行任务,以确定所述目标容器对应的端口信息。
[0017]在一种可能的实施方式中,所述基于所述目标容器对应的工作目录,生成所述任一开发任务对应的WebIDE页面,包括:
[0018]基于所述第一仓库代码,确定所述目标开发项目对应的启动任务中的至少一个第二执行任务;所述第二执行任务为被选择的执行任务;
[0019]生成每个所述第二执行任务对应的第一任务插件;
[0020]基于每个所述第一任务插件和所述目标容器对应的工作目录,生成所述任一开发任务对应的WebIDE页面,其中,所述WebIDE页面中包括每个所述第一任务插件分别对应的控件。
[0021]在一种可能的实施方式中,所述存储第一目标构建产物,包括:
[0022]将所述第一目标构建产物存储在用于进行数据持久存储的目标存储位置。
[0023]在一种可能的实施方式中,所述存储第一目标构建产物,包括:
[0024]生成用于表征所述第一目标构建产物生成完毕的通知信息,并将所述通知信息发送给所述目标开发项目对应的WebIDE调度器;
[0025]利用所述WebIDE调度器将所述第一目标构建产物存储在所述目标开发项目的每个项目节点对应的工作目录中,其中,一个项目节点对应于至少一个容器;
[0026]所述获取存储的所述第一目标构建产物,包括:
[0027]确定所述目标容器对应的目标项目节点,从所述目标项目节点对应的工作目录中获取所述第一目标构建产物。
[0028]在一种可能的实施方式中,在得到所述第一目标构建产物之后,还包括:
[0029]获取存储的每个已生成构建产物对应的容器关联记录;所述容器关联记录用于记录与对应的已生成构建产物匹配的容器数量;
[0030]在所述目标开发项目的每个项目节点对应的工作目录中,删除所述容器数量小于或等于预设数量的已生成构建产物。
[0031]在一种可能的实施方式中,所述方法还包括:
[0032]在确定所述任一开发任务执行完成的情况下,删除所述目标容器,并更新所述第一目标构建产物对应的所述容器数量。
[0033]在一种可能的实施方式中,所述当前修改的代码分支包括所述目标开发项目对应的主代码分支和每个与所述主代码分支存在更新关联关系的子代码分支;所述更新关联关系用于表征在所述子代码分支发生更新的情况下,所述主代码分支将同步更新。
[0034]在一种可能的实施方式中,所述方法还包括:
[0035]在确定所述待匹配代码版本信息和所述第一目标构建产物对应的代码版本信息不匹配的情况下,获取所述待匹配代码版本信息对应的第二仓库代码;
[0036]在所述目标容器中,执行所述第二仓库代码中的初始化任务代码,确定第二目标构建产物,并将所述第二目标构建产物添加在所述目标容器对应的工作目录中;
[0037]基于所述第二仓库代码,确定所述待匹配代码版本信息对应的至少一个第二执行任务,并生成每个所述第二执行任务对应的第二任务插件;所述第二执行任务为被选择的执行任务;
[0038]基于每个所述第二任务插件和所述目标容器对应的工作目录,生成所述任一开发任务对应的WebIDE页面。
[0039]第二方面,本公开实施例还提供一种启动装置,包括:
[0040]触发模块,用于响应当前修改的代码分支满足目标条件,触发预构建功能;所述当前修改的代码分支为目标开发项目对应的代码分支;所述目标条件是指所述代码分支对在线集成开发环境WebIDE中容器的初始化过程存在影响;
[0041]获取模块,用于按照预设代码拉取方式,获取所述目标开发项目对应的第一仓库代码;并按照所述当前修改的代码分支对应的代码版本信息,从所述第一仓库代码中,获取用于构建所述WebIDE对应的运行依赖的初始化任务代码;
[0042]执行模块,用于执行所述初始化任务代码,得到并存储第一目标构建产物;其中,所述第一目标构建产物用于生成所述WebIDE中容器运行所需的运行依赖。
[0043]在一种可能的实施方式中,所述装置还包括:
[0044]启动模块,用于在得到并存储第一目标构建产物之后,响应于针对所述目标开发项目中任一开发任务的启动请求,确定所述启动请求对应的待匹配代码版本信息,并在确定所述待匹配代码版本信息和所述第一目标构建产物对应的代码版本信息相匹配的情况下,启动执行所述任一开发任本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种启动方法,其特征在于,包括:响应当前修改的代码分支满足目标条件,触发预构建功能;所述当前修改的代码分支为目标开发项目对应的代码分支;所述目标条件是指所述代码分支对在线集成开发环境WebIDE中容器的初始化过程存在影响;按照预设代码拉取方式,获取所述目标开发项目对应的第一仓库代码;并按照所述当前修改的代码分支对应的代码版本信息,从所述第一仓库代码中,获取用于构建所述WebIDE对应的运行依赖的初始化任务代码;执行所述初始化任务代码,得到并存储第一目标构建产物;其中,所述第一目标构建产物用于生成所述WebIDE中容器运行所需的运行依赖。2.根据权利要求1所述的方法,其特征在于,在得到并存储第一目标构建产物之后,还包括:响应于针对所述目标开发项目中任一开发任务的启动请求,确定所述启动请求对应的待匹配代码版本信息,并在确定所述待匹配代码版本信息和所述第一目标构建产物对应的代码版本信息相匹配的情况下,启动执行所述任一开发任务的目标容器;获取存储的所述第一目标构建产物,并将所述第一目标构建产物添加在所述目标容器对应的工作目录中;基于所述目标容器对应的工作目录,生成所述任一开发任务对应的WebIDE页面。3.根据权利要求2所述的方法,其特征在于,所述启动执行所述任一开发任务的目标容器,包括:获取所述目标开发项目对应的第一仓库代码;基于所述第一仓库代码,确定所述目标开发项目对应的启动任务中的第一执行任务;所述第一执行任务为默认的执行任务;在启动所述目标容器的过程中,执行所述第一执行任务,以确定所述目标容器对应的端口信息。4.根据权利要求3所述的方法,其特征在于,所述基于所述目标容器对应的工作目录,生成所述任一开发任务对应的WebIDE页面,包括:基于所述第一仓库代码,确定所述目标开发项目对应的启动任务中的至少一个第二执行任务;所述第二执行任务为被选择的执行任务;生成每个所述第二执行任务对应的第一任务插件;基于每个所述第一任务插件和所述目标容器对应的工作目录,生成所述任一开发任务对应的WebIDE页面,其中,所述WebIDE页面中包括每个所述第一任务插件分别对应的控件。5.根据权利要求1所述的方法,其特征在于,所述存储第一目标构建产物,包括:将所述第一目标构建产物存储在用于进行数据持久存储的目标存储位置。6.根据权利要求2所述的方法,其特征在于,所述存储第一目标构建产物,包括:生成用于表征所述第一目标构建产物生成完毕的通知信息,并将所述通知信息发送给所述目标开发项目对应的WebIDE调度器;利用所述WebIDE调度器将所述第一目标构建产物存储在所述目标开发项目的每个项目节点对应的工作目录中,其中,一个项目节点对应于至少一个容器;所述获取存储的所述第一目标构建产物,包括:
确定所述目标容器对应的目标项目节点,从所述目标项目节点对...

【专利技术属性】
技术研发人员:杨吉明张舜晨
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

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

1