乐趣区

关于阿里云:7招实现安全高效的流水线管理

概述

传统流水线 Pipeline 工具,包含 Jenkins、Teamcity、Travis CI 等产品,作为企业 DevOps 中继续集成 / 继续交付的外围工具,从外围性能上来说通常能够概括为以下 4 点:

1、自动化测试: 提供代码扫描、平安扫描、单元测试等自动化测试工具,确保代码在集成前曾经通过充沛测试验证。

2、集成构建: 提供各种语言、框架的利用编译打包性能,将源码自动化转化为能够运行的理论代码,比方装置依赖、配置资源等。

3、公布部署: 反对多种资源(虚拟主机、K8S 等)的公布形式,反对通过灰度公布、分批公布等各种策略,保障业务交付的稳固。随着各种云计算的逐步遍及,呈现各种各样的 Iaas/Paas 产品,CI/CD 工具如何反对各种模式的公布场景成为了一大外围价值。

4、流程编排: 通过对不同工具和工作的流程编排能力,实现不同 CI/CD 流程把控。通常来说,流水线工具岂但反对串联本身提供的测试、构建、部署性能,还会反对企业买通自有的其余工具(比方 git 仓库、自动化测试零碎等)。

以上几点,作为 CI/CD 提供的根底性能,本文不做赘述。

云效团队多年来为阿里巴巴外部(Aone)和云上企业用户(云效)别离提供研发运维工具,并致力于打造企业级一站式的 DevOps 平台,更多关注不同类型的企业用户在应用过程中的治理与合作场景,本文将重点介绍高效平安治理云效流水线的 7 招:

第 1 招:基于业务个性分组治理流水线
第 2 招:预置流水线模板 / 工作组 / 步骤
第 3 招:一键批量降级流水线
第 4 招:设置通用变量组,随调随用
第 5 招:精密治理主机 / 集群资源
第 6 招:灵便治理公有构建集群
第 7 招:自定义企业 maven 配置

第 1 招:基于业务个性分组治理流水线

随着企业业务规模和团队规模的逐渐倒退,流水线和企业成员的数量越来越多。如何让成员疾速定位到本人的流水线,防止成员吞没在一堆与本人无关的内容中,同时保障业务倒退的安全性,成为了企业的独特诉求。

云效反对企业管理员能够在单条流水线上设置不同成员的查看、运行、编辑等流水线权限。同时也反对对流水线进行分组,并基于分组对多条流水线批量受权。

分组反对间接依照部门设置权限,这样的益处是部门成员产生变动后,流水线权限也主动发生变化。企业成员入职、到职的变动导致的权限变更能够做到自动化解决。

第 2 招:预置流水线模板 / 工作组 / 步骤

在云效流水线 Flow 中,流水线是依照 流水线 -> 工作组 -> 步骤组成的,流水线能够由多个工作组编排组成,而每个工作组能够由多个步骤编排而成。

为了不便用户疾速创立流水线,云效流水线 Flow 预置了局部流水线模板、工作组、步骤。

为了反对企业用户更加个性化地配置本人的流水线,云效流水线 Flow 中的流水线模板、工作组、步骤均反对企业自定义创立。可在企业设置中的流水线模板治理 - 工作组治理 - 步骤治理中,创立属于企业个性化的内容,企业成员能够在编辑流水线的过程中应用此局部自定义内容。

此外,在流水线模板治理 - 工作组治理 - 步骤治理中,企业管理员能够敞开企业不须要的内容以防止造成烦扰。

第 3 招:一键批量降级流水线

尽管随着业务规模的增长,企业外部流水线工作越来越多,但因为企业内技术栈根本对立,会呈现不同流水线之间只有局部配置(如代码源、虚拟主机组等)存在差别,而大部分配置基本相同的状况。

当企业流水线的某些配置(比方构建脚本、人工卡点的审核人员)须要更改时,批改流水线会导致大量的反复工作。

因而,云效提供了通过工作组实现流水线批量降级的性能。

反对在企业设置中增加工作组时,开启“反对批量降级”性能。

企业成员在配置流水线过程中,能够抉择曾经创立的工作组。尔后,企业管理员编辑批改工作组后,会对关联流水线中的工作节点进行降级。

第 4 招:设置通用变量组,随调随用

定义环境变量是实现流水线过程定制化的一种常见办法,能够在执行过程的任何阶段应用这些变量,云效流水线反对在每条流水线中设置其独有的环境变量。

然而有些变量其实是十分通用的变量,企业内大部分流水线都会用到,这时如果独自在流水线中进行设置,可导致大量反复工作。因而,云效提供了企业级治理变量的通用变量组性能。

反对在企业设置中增加变量组,每个变量组可设置多个变量,且变量均可设置为私密变量,局部敏感参数,如 username、password 等,设置成私密变量后,能够大幅升高平安危险。

流水线管理者,只须要在流水线中关联变量组,就可在流水线工作中应用该变量。

第 5 招:精密治理主机 / 集群资源

云效流水线 Flow 反对将你的利用构建公布至虚拟主机或 Kubernetes 集群,同时云效的公布能力并不局限于阿里云服务器(ECS)和阿里云容器服务 Kubernetes(ACK),其余云厂商或者企业自建的虚拟主机或 Kubernetes 集群也能够通过云效实现部署。

在理论生产利用过程中,主机和集群资源作为企业的基础设施,其应用权限须要严格把控,以确保线上业务的安全性。

因而,云效提供了主机组 /Kubernetes 集群治理性能,并反对在主机组和集群设置权限。

反对在企业设置中增加主机组,主机组可抉择阿里云 ECS 和自有主机两种类型。每个主机组下均可增加多台主机资源,同时可将企业成员设置为主机组成员,领有权限的成员才能够在流水线中抉择该主机组资源。

同样,反对在企业设置中增加 Kubernetes 集群,主机组可抉择阿里云容器服务 Kubernetes(ACK)和自定义集群两种类型。可将企业成员设置为集群成员,领有权限的成员才能够在流水线中抉择该集群资源。

第 6 招:灵便治理公有构建集群

云效流水线 Flow 为企业提供了稳固、牢靠的构建资源,并提供了北京和香港两个 region 构建集群,企业用户无需再自行创立并保护构建机,升高了企业整体的上云老本。

然而,云效提供的构建对立的免费资源并无奈解决局部企业个性问题:

  • 非凡的网络环境,无奈间接从公网和云效买通。
  • 非凡的构建机环境,云效无奈间接提供。

因而,云效提供了构建集群治理性能,如果有非凡的构建环境需要,用户可在 Flow 中创立并应用公有的构建集群。

云效流水线 Flow 反对应用阿里云 ECS 或者自有主机作为构建集群。

在流水线的工作节点中,能够抉择企业自定义的构建集群执行构建工作。

第 7 招:自定义企业 maven 配置

在云效流水线 Flow 中应用 Java 构建工作,云效流水线 Flow 会主动帮你代理阿里云 Maven 公库和云效企业私库 Packages,企业用户能够将企业依赖文件上传至 Packages 仓库,实现构建依赖下载的买通。

然而,对于应用 Java 技术栈的企业,通常都会有属于企业外部特有的 Maven 配置。

因而,云效提供了企业 Maven 配置性能,反对在企业设置中上传自定义 settings.xml 文件,Flow 会依据你的配置执行 Java 构建工作。

欢送大家应用云效,云原生时代新 DevOps 平台,通过云原生新技术和研发新模式,大幅晋升研发效率。现云效公共云根底版不限人数 0 元应用。

https://www.aliyun.com/product/yunxiao?channel=yy_rccb


对于咱们

理解更多对于云效 DevOps 的最新动静,可微信搜寻关注【云效】公众号;

彩蛋:公众号后盾回复【指南】,可取得《阿里巴巴 DevOps 实际指南》&《10 倍研发效力晋升案例集》;

看完感觉对您有所帮忙别忘记点赞、珍藏和关注呦;

退出移动版