一种基于Jenkins的跨云持续化构建方法技术

技术编号:28119132 阅读:18 留言:0更新日期:2021-04-19 11:22
本发明专利技术提供了一种基于Jenkins的跨云持续化构建方法,包括以下步骤:S1、Jenkins完成构建后调用推送脚本;S2、推送脚本在指定目录读取资源配置;S3、生成下一次推送动态密钥key;S4、判断前次动态密钥key是否为空,不为空则进行步骤S5,为空则进行步骤S6;S5、调用autoPwd并根据前次动态密钥key计算密码;S6、交互脚本手动输入初始密码建立连接;S7、推送资源配置到配置指定的目标机目录,并按照推送配置路由链,deploy循环推送,直到目标机为止,进行步骤S8;S8、根据新的动态密钥key计算密码,更新当前服务器密码;S9、删除当前服务器的动态密钥key、deploy和autoPwd脚本。本发明专利技术所述的一种基于Jenkins的跨云持续化构建方法解决复杂路由场景下Jenkins部署的部署文件推送路由问题。题。题。

【技术实现步骤摘要】
一种基于Jenkins的跨云持续化构建方法


[0001]本专利技术属于云计算领域,尤其是涉及一种基于Jenkins的跨云持续化构建方法。

技术介绍

[0002]现代软件研发理论及实践丰富多样,其中CI/CD流程在大型化复杂化的交付场景已成必须且必要工具化场景应用。另,基于现状云化场景,生产环境复杂多样,基于安全考虑,堡垒机路由超过1跳的场景也比较普遍。研究充分利用CI/CD达快速部署、持续化部署,成为必然。结合项目实践,挖掘Jenkins的脚本能力,我们解决了多云场景,多堡垒机路由场景下的持续化通用脚本。
[0003]Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。利用Jenkins能方便地生成发布包,并推送到指定服务器。但其存在“最后一公里”问题,及怎么把部署包通过堡垒机推送到多层级路由层级的目标服务器,如如下场景:需要把部署在A云的Jenkins打包,通过A云的堡垒机A,推送到B云的堡垒机B,在推送到B云的前置安全主机进行安全扫描后,最后推送到B云的目标服务器。一般来讲,可设置每一跳ssh免密登录来实现逐级推送,但存在如下问题:1、除非专线,基于安全考虑,堡垒机A和堡垒机B间是不允许免密设置:2、即使路由的每一跳均允许免密,但还是需要人员手动逐一登录设置。

技术实现思路

[0004]有鉴于此,本专利技术旨在提出一种基于Jenkins的跨云持续化构建方法,以解决上述问题中的不足之处,让持续部署更加智能化、自动化。
[0005]为达到上述目的,本专利技术的技术方案是这样实现的:
[0006]一种基于Jenkins的跨云持续化构建方法,包括以下步骤:
[0007]S1、Jenkins完成构建后调用推送脚本;
[0008]S2、推送脚本在指定目录读取资源配置;
[0009]S3、生成下一次推送动态密钥key;
[0010]S4、判断前次动态密钥key是否为空,不为空则进行步骤S5,为空则进行步骤S6;
[0011]S5、调用autoPwd并根据前次动态密钥key计算密码;
[0012]S6、交互脚本手动输入初始密码建立连接;
[0013]S7、推送资源配置到配置指定的目标机目录,并按照推送配置路由链,deploy循环推送,直到目标机为止,进行步骤S8;
[0014]S8、根据新的动态密钥key计算密码,更新当前服务器密码;
[0015]S9、删除当前服务器的动态密钥key、deploy和autoPwd脚本。
[0016]进一步的,首次推送时,需要在Jenkins的服务器指定目录准备好相关配置,包括部署包生成的路径、需要推送的服务器ip路由链、ip节点信息,所述ip节点信息包括ip、端口、文件目录。
[0017]进一步的,Jenkins构建完成后,调用deploy脚本,根据当前服务器ip地址,在配置的ip路由链中找到下一跳地址及相关节点信息,将上一跳的资源按节点信息配置推送到下一跳服务器,并且执行预置脚本,逐次循环,直到到达目标服务器。
[0018]进一步的,到达目标服务器后,按照新的动态密钥key,结合机器信息,按照算法生成密码,并相应更新该机用户密码,更新后,删除key和deploy推送脚本和autoPwd动态密码脚本。
[0019]进一步的,在首次推送时,由于密码一般是未按照给定算法动态生成用户密码,需要交互式响应,手动输入初始密码。
[0020]进一步的,一种电子设备,包括处理器,以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行上述一种基于Jenkins的跨云持续化构建方法。
[0021]进一步的,一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行一种基于Jenkins的跨云持续化构建方法。
[0022]进一步的,一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现一种基于Jenkins的跨云持续化构建方法。
[0023]相对于现有技术,本专利技术所述的一种基于Jenkins的跨云持续化构建方法具有以下优势:
[0024](1)本专利技术所述的一种基于Jenkins的跨云持续化构建方法解决复杂路由场景下Jenkins部署的部署文件推送路由问题。
[0025](2)本专利技术所述的一种基于Jenkins的跨云持续化构建方法解决复杂OS层面的环境初始化构建。
[0026](3)本专利技术所述的一种基于Jenkins的跨云持续化构建方法安全,不用密码登录,安全隐患小,只需要保证Jenkins服务器上的动态不被泄露既可。
附图说明
[0027]构成本专利技术的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0028]图1为本专利技术实施例所述的一种基于Jenkins的跨云持续化构建方法示意图。
具体实施方式
[0029]需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。
[0030]在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可
以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0031]在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本专利技术中的具体含义。
[0032]下面将参考附图并结合实施例来详细说明本专利技术。
[0033]本专利技术主要解决前述问题,让持续部署更加智能化、自动化,本专利技术的核心在于deploy脚本和autoPwd动态密码脚本,deploy负责循环推送包括部署包、脚本及其他必要相关资源到下一级目标服务器推送;autoPwd负责完成密码动态生成,本次推送时动态计算密码,推送完成后修改目标机密码,并且保存相应密码key,以前述部署场景为例,推送过程如如图1所示,包括以下步骤:
...

【技术保护点】

【技术特征摘要】
1.一种基于Jenkins的跨云持续化构建方法,其特征在于,包括以下步骤:S1、Jenkins完成构建后调用推送脚本;S2、推送脚本在指定目录读取资源配置;S3、生成下一次推送动态密钥key;S4、判断前次动态密钥key是否为空,不为空则进行步骤S5,为空则进行步骤S6;S5、调用autoPwd并根据前次动态密钥key计算密码;S6、交互脚本手动输入初始密码建立连接;S7、推送资源配置到配置指定的目标机目录,并按照推送配置路由链,deploy循环推送,直到目标机为止,进行步骤S8;S8、根据新的动态密钥key计算密码,更新当前服务器密码;S9、删除当前服务器的动态密钥key、deploy和autoPwd脚本。2.根据权利要求1所述的一种基于Jenkins的跨云持续化构建方法,其特征在于:首次推送时,需要在Jenkins的服务器指定目录准备好相关配置,包括部署包生成的路径、需要推送的服务器ip路由链、ip节点信息,所述ip节点信息包括ip、端口、文件目录。3.根据权利要求1所述的一种基于Jenkins的跨云持续化构建方法,其特征在于:Jenkins构建完成后,调用deploy脚本,根据当前服务器ip地址,在配置的ip路由链中找到下一跳地址及相关节点信息,将上一跳的资源按节点信息配置推送到下一跳服务器,...

【专利技术属性】
技术研发人员:任克非
申请(专利权)人:紫光云技术有限公司
类型:发明
国别省市:

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

1