7招,实现安全高效的流水线管理
简介:云效团队多年来为阿里巴巴内部(Aone)和云上企业用户(云效)分别提供研发运维工具,并致力于打造企业级一站式的 DevOps 平台,更多关注不同类型的企业用户在使用过程中的管理与协作场景,本文将重点介绍高效安全管理云效流水线的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) 和自定义集群两种类型。可将企业成员设置为集群成员,拥有权限的成员才可以在流水线中选择该集群资源。
自定义 Kubernetes 集群
第6招:灵活管理私有构建集群
云效流水线 Flow 为企业提供了稳定、可靠的构建资源,并提供了北京和香港两个 region 构建集群,企业用户无需再自行创建并维护构建机,降低了企业整体的上云成本。
然而,云效提供的构建统一的免费资源并无法解决部分企业特性问题:
- 特殊的网络环境,无法直接从公网和云效打通。
- 特殊的构建机环境,云效无法直接提供。
因此,云效提供了构建集群管理功能,如果有特殊的构建环境需求,用户可在 Flow 中创建并使用私有的构建集群。
云效流水线 Flow 支持使用阿里云 ECS 或者自有主机作为构建集群。
在流水线的任务节点中,可以选择企业自定义的构建集群执行构建任务。
第7招:自定义企业maven配置
在云效流水线 Flow 中使用 Java 构建任务,云效流水线 Flow 会自动帮你代理阿里云 Maven 公库和云效企业私库 Packages,企业用户可以将企业依赖文件上传至 Packages 仓库,完成构建依赖下载的打通。
然而,对于使用 Java 技术栈的企业,通常都会有属于企业内部特有的 Maven 配置。
因此,云效提供了企业 Maven 配置功能,支持在企业设置中上传自定义 settings.xml 文件,Flow 会根据你的配置执行 Java 构建任务。
原文链接
本文为阿里云原创内容,未经允许不得转载。
7招,实现安全高效的流水线管理相关推荐
- 智慧采购管理系统电子招投标优势浅析,助力建筑工程企业高效做好采购管理工作
随着建筑工程行业的蓬勃发展,竞争也日益激烈.在项目执行过程中,从项目前期投标开始,到项目立项.施工过程.竣工结束的整个过程中,采购活动频繁,且采购类型较多,各项采购金额巨大,如何应用电子采购平台,实现 ...
- 深入浅出:数据流水线管理(上)
在绝大部分企业的数据中台建设中,数据流水线的建设都是核心工作之一.数据流水线系统承担着将数据从原始形态转换到用户与业务应用可以直接使用的形态的整个过程.在绝大多数时候,这些工作必须是自动且高度可靠的, ...
- 虚拟化---简单高效的IT管理模型
很多人认为云计算就是虚拟化,虚拟化就是云计算.笔者虽然并不认同这个观点,但绝对赞同虚拟化技术在云计算众多关键技术中有一席之地,而且是非常重要的关键技术. 维基百科对虚拟化的定义是:虚拟化是表示计算机资 ...
- 如何进行高效的时间管理?
你是否常常觉得手头上的事情很多,而忙忙碌碌过后完成的事情很少:或者是被各类沟通.各类碎片化事务占据了大部分时间,最后不知道"时间花在哪儿了". 时间,每一分每一秒都不偏不倚的进行着 ...
- 阿里云贾少天:大规模云服务器高效使用及管理实践
简介:本篇内容分享了大规模云服务器高效使用及管理最佳实践. 2021年10月22日,在云栖大会的<云上运维最佳实践>分论坛,阿里云高级技术专家贾少天发表了主题为"大规模云服务器高 ...
- 云脉高效数字化档案管理
云脉高效数字化档案管理 档案资源在企事业单位一直被看作为宝贵的资产.然而以前的档案管理都是运用人员手工整理及编写目录,而且更多的是以纸质形式来存放,不仅工作时效低.安全性不高,在档案保存.内部档案调取 ...
- 高效文件管理-Git管理个人文件指南
高效文件管理-Git管理个人文件指南 无任何前置条件的高效Git个人文件管理指南,从零到一百,只需要一篇文档! 前言: 你曾经被QQ群文件的不改,再也不改,永不再改,再再再再也不改支配过么?恭喜你 ...
- 易臣|高效实现会议管理,一起来看
会议是企业或企业之间作决策.定战略目标时组织的集会,是为了解决问题而进行的交流活动.随着市场对"会议+互联网"诞生的产物需求日益增长,会议管理系统也渐渐代替了传统人工管理的会议模式 ...
- 从重视研发到建立高效的研发管理体系
在不知不觉之中,软件产品领域的竞争变得如此激烈.靠一两个天才人物的灵感来维持整个企业市场竞争优势的时代已经逐渐远去了.以某项卓越的设计.天赐良机.对手的失策或自己的幸运为基础形成的产品竞争优势是不可能 ...
最新文章
- android的dmtracedump工具生成trace文件图片 'dot' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- python 批量更换图片格式脚本
- Java 8 Streams:过滤和谓词否定
- mallco动态分配_malloc动态分配的内存的生存周期是多少?
- oracle中trunc x-1,oracle中trunc函数的说明
- MFC开发IM-设置 static的背景色和字体色
- 5)Javascript设计模式:extends模式
- 8 随机积分与随机微分方程
- html全部布局代码大全,HTML 布局(示例代码)
- 智慧交通:数字孪生三维可视化大屏管控运维平台
- pdf加水印怎么加?
- Win7系统怎么开启远程桌面?Win7远程桌面怎么用
- 计算机键盘没有fn,键盘上没有fn键怎么办
- 回归分析-线性回归-检验-模型
- CC2530入网流程
- 《Drools7.0.0.Final规则引擎教程》第4章 global全局变量
- 怎样在LaTeX中使用中文
- MySQL数据库操作-查看数据库 (SHOW DATABASES)
- 【开发环境】(基于Hexo)个人博客主题(Hexo Fluid)更换
- python 爬取简单静态网站之电影天堂
热门文章
- JAVA入门级教学之(if语句)
- linux下collada-dom编译,Building Collada
- python numpy和pandas库的区别_python – 来自熊猫和numpy的意思不同
- 西门子安装未找到ssf文件_V5.3安装时显示NO SSF FILE FOUND对话框,我该怎么解决啊? 谢谢!-工业支持中心-西门子中国...
- 用python将word文档导入数据库_python读取word文档,插入mysql数据库的示例代码
- c# combobox集合数据不显示_excel打开数据时显示乱码/问号amp;看起来一样却v不出来怎么办...
- php 类加载,关于PHP中类的加载
- java电脑类的接口_java 一个类实现两个接口的案例
- matlab输出高分辨率图片有白色毛刺,科学网—图片空白边缘处理/统计直方图---matlab/保存生成高质量的清晰图 - 杨小林的博文...
- 小说中场景的功能_场景在小说中的作用