一种流水线SAAS服务插件支持自定义环境及任务的方法技术

技术编号:24613128 阅读:27 留言:0更新日期:2020-06-24 00:57
本发明专利技术提供了一种流水线SAAS服务插件支持自定义环境及任务的方法,包括持续交付流水线系统和docker镜像库,在持续交付流水线系统和docker镜像库之间设置Kubernetes集群管理模块和自定义环境及任务插件;具有以下步骤:(1)用户在使用系统前,通过Kubernetes集群管理模块,将自有的Kubernetes集群信息如名称、APIServer地址、证书、密钥等填入,使得Kubernetes集群管理模块可以获得授权使用此Kubernetes集群;(2)用户登录持续交付流水线系统,将自定义环境及任务插件配置到流水线执行任务中;(3)用户在自定义环境及任务插件中配置任务执行时所需要的docker镜像;本发明专利技术提供一种支持自定义环境及任务的流水线SAAS服务插件,真正满足用户的自定义需求。

A method of pipeline SaaS service plug-in supporting custom environment and task

【技术实现步骤摘要】
一种流水线SAAS服务插件支持自定义环境及任务的方法
本专利技术涉及流水线SAAS服务插件,具体是一种流水线SAAS服务插件支持自定义环境及任务的方法。
技术介绍
SAAS(SoftwareAsAService的简称),作为一种开箱即用的软件服务,近些年在全球被广泛应用开来,在软件开发领域,也有越来越多的云厂商提供了开箱即用的软件开发SAAS服务,例如阿里云的“云效”、华为云的devcloud、百度云的“效率云”,其中,持续交付流水线服务则是众多软件开发SAAS服务中的重要一个,国内各云计算厂商也纷纷提供了相关服务。目前所有的持续交付流水线服务都是基于插件的,每个具体的任务,都需要通过流水线上的插件来具体完成。但是企业软件开发场景非常复杂,需要有一种支持用户在自定义的软件环境中,执行自定义任务的能力的插件来满足复杂软件开发场景需求。目前国内的各大厂商的持续交付流水线SAAS服务,都内置了一些自定义脚本插件,可以支持用户编写自定义的脚本。但是现有持续交付流水线的SAAS服务的自定义任务插件存在如下缺点:1.不支持用户自行设置软件环境,只支持在固定的操作系统环境上执行脚本。此SAAS服务对于自定义任务的支持效果将大打折扣。2.仅支持在SAAS公共集群执行自定义任务插件。这种SAAS服务自定义任务插件的问题是在公共集群上执行任意的自定义环境和脚本插件,安全风险太大;其次是由于研发系统和服务的安全性问题及公网带宽成本问题,SAAS用户会把部分研发系统或者服务部署在自己的自有网络中,不会全部提供公网访问能力,这时SAAS服务自定义任务插件执行任务时,无法和用户的自有网络中的系统和服务进行交互,实用性也会大打折扣。
技术实现思路
本专利技术的目的在于提供一种流水线SAAS服务插件支持自定义环境及任务的方法,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种流水线SAAS服务插件支持自定义环境及任务的方法,包括持续交付流水线系统和docker镜像库,在持续交付流水线系统和docker镜像库之间设置Kubernetes集群管理模块和自定义环境及任务插件;具有以下步骤:(1)用户在使用系统前,通过Kubernetes集群管理模块,将自有的Kubernetes集群信息如名称、APIServer地址、证书、密钥等填入,使得Kubernetes集群管理模块可以获得授权使用此Kubernetes集群;(2)用户登录持续交付流水线系统,将自定义环境及任务插件配置到流水线执行任务中;(3)用户在自定义环境及任务插件中配置任务执行时所需要的docker镜像,包括镜像库地址信息、访问授信信息、镜像名称及版本信息、以及希望在此镜像环境中执行的脚本;(4)自定义环境及任务插件向Kubernetes集群管理模块发起查询请求,获取用户有权限可用的Kubernetes集群集群信息,完成用户场景的配置;(5)用户配置场景完成后,持续交付流水线系统向自定义环境及任务插件发起任务执行命令;(6)自定义环境及任务插件根据步骤(4)中配置的Kubernetes集群信息,向Kubernetes集群管理模块查询该Kubernetes集群的APIServer地址、使用授权信息(证书、token);(7)自定义环境及任务插件将在步骤(3)中配置的环境镜像信息、自定义脚本信息,通过Kubernetes集群的SeverAPI发送给步骤(6)中获取的Kubernetes集群;(8)Kubernetes集群根据收到的docker镜像信息,从指定的docker镜像中拉取,启动该镜像,并可以在该镜像中执行指定脚本,与用户自有网络中的其他服务交互;(9)执行结果信息可通过KubernetesAPIServer回传给自定义环境及任务插件,展示给用户,实现插件执行。与现有技术相比,本专利技术的有益效果是:本专利技术提供一种支持自定义环境及任务的流水线SAAS服务插件,真正满足用户的自定义需求。在持续交付流水线SAAS服务系统中添加Kubernetes集群管理模块,用户可以管理自己的Kubernetes集群用以执行流水线任务,在实现不同用户资源安全隔离的同时,还可以和用户私有网络内的系统和服务交互,大大提升实用性。并且,通过持续交付流水线SAAS服务插件,设置镜像、脚本、及指定自有Kubernetes集群,实现可以在自有Kubernetes集群中的自定义环境中执行自定义脚本的能力。本方法使得持续交付流水线的SAAS服务具备了允许用户在专属的Kubernetes集群上任意指定运行环境且可以执行任意脚本的能力;同时,任务执行在用户专属的Kubernetes集群中,解决了SAAS服务场景下自定义任务在公共集群上的安全问题。并且,用户专属的Kubernetes集群除了ServerAPI提供公网访问之外,其工作节点处于用户专属网络之内,可以和用户的其他系统与服务网络互通,大大提升实用性。附图说明图1为一种流水线SAAS服务插件支持自定义环境及任务的方法的整体架构图。图2为一种流水线SAAS服务插件支持自定义环境及任务的方法中用户配置场景流程图。图3为一种流水线SAAS服务插件支持自定义环境及任务的方法中插件执行场景示意图。具体实施方式下面结合具体实施方式对本专利的技术方案作进一步详细地说明。请参阅图1-3,一种流水线SAAS服务插件支持自定义环境及任务的方法,包括持续交付流水线系统和docker镜像库,在持续交付流水线系统和docker镜像库之间设置Kubernetes集群管理模块和自定义环境及任务插件,其中持续交付流水线系统、docker镜像库为普通研发系统;Kubernetes集群管理模块和自定义环境及任务插件是本方案新增模块。Kubernetes集群管理模块的主要功能是录入及保存用户自有的Kubernetes的连接信息,包括集群名称、APIServer地址、证书、密钥等信息,并管理用户使用此连接信息的权限。被授予使用权限的用户可以从Kubernetes集群管理模块获取有权限的Kubernetes集群的连接信息,并向目标Kubernetes集群发起任务。自定义环境及任务插件的主要功能是设置任务执行的Kubernetes集群、以及任务运行环境所需要的docker镜像信息(镜像库地址、镜像名称、版本)、自定义脚本、以及在收到流水线的任务执行指令后,从Kubernetes集群管理模块获取Kubernetes集群连接信息并向Kubernetes集群的ServerAPI发送任务执行命令。本方法具有以下步骤:(1)用户在使用系统前,通过Kubernetes集群管理模块,将自有的Kubernetes集群信息(名称、APIServer地址、证书、密钥等信息)填入,使得Kubernetes集群管理模块可以获得授权使用此Kubernetes集群;如图2箭头1所示。(2)用户登录持续交付流水本文档来自技高网
...

【技术保护点】
1.一种流水线SAAS服务插件支持自定义环境及任务的方法,其特征在于,包括持续交付流水线系统和docker镜像库,在持续交付流水线系统和docker镜像库之间设置Kubernetes集群管理模块和自定义环境及任务插件;具有以下步骤:/n(1)用户在使用系统前,通过Kubernetes集群管理模块,将自有的Kubernetes集群信息如名称、APIServer地址、证书、密钥等填入,使得Kubernetes集群管理模块可以获得授权使用此Kubernetes集群;/n(2)用户登录持续交付流水线系统,将自定义环境及任务插件配置到流水线执行任务中;/n(3)用户在自定义环境及任务插件中配置任务执行时所需要的docker镜像,包括镜像库地址信息、访问授信信息、镜像名称及版本信息、以及希望在此镜像环境中执行的脚本;/n(4)自定义环境及任务插件向Kubernetes集群管理模块发起查询请求,获取用户有权限可用的Kubernetes集群集群信息,完成用户场景的配置;/n(5)用户配置场景完成后,持续交付流水线系统向自定义环境及任务插件发起任务执行命令;/n(6)自定义环境及任务插件根据步骤(4)中配置的Kubernetes集群信息,向Kubernetes集群管理模块查询该Kubernetes集群的APIServer地址、使用授权信息(证书、token);/n(7)自定义环境及任务插件将在步骤(3)中配置的环境镜像信息、自定义脚本信息,通过Kubernetes集群的SeverAPI发送给步骤(6)中获取的Kubernetes集群;/n(8)Kubernetes集群根据收到的docker镜像信息,从指定的docker镜像中拉取,启动该镜像,并可以在该镜像中执行指定脚本,与用户自有网络中的其他服务交互;/n(9)执行结果信息可通过KubernetesAPIServer回传给自定义环境及任务插件,展示给用户,实现插件执行。/n...

【技术特征摘要】
1.一种流水线SAAS服务插件支持自定义环境及任务的方法,其特征在于,包括持续交付流水线系统和docker镜像库,在持续交付流水线系统和docker镜像库之间设置Kubernetes集群管理模块和自定义环境及任务插件;具有以下步骤:
(1)用户在使用系统前,通过Kubernetes集群管理模块,将自有的Kubernetes集群信息如名称、APIServer地址、证书、密钥等填入,使得Kubernetes集群管理模块可以获得授权使用此Kubernetes集群;
(2)用户登录持续交付流水线系统,将自定义环境及任务插件配置到流水线执行任务中;
(3)用户在自定义环境及任务插件中配置任务执行时所需要的docker镜像,包括镜像库地址信息、访问授信信息、镜像名称及版本信息、以及希望在此镜像环境中执行的脚本;
(4)自定义环境及任务插件向Kubernetes集群管理模块发起查询请求,获取用户有权限可用的Ku...

【专利技术属性】
技术研发人员:刘庆
申请(专利权)人:北京简单一点科技有限公司
类型:发明
国别省市:北京;11

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

1