极狐 GitLab 13.11 功能回顾,含 Kubernetes Agent 和流水线合规性
随着 DevOps 实践的不断加深,我们的客户也需要更高的效率和自动化控制。极狐 GitLab Kubernetes Agent 现已上线,可帮助你从快速、基于拉取(pull-based)的部署中获益,而极狐 GitLab 可以管理代理的必要服务器端组件。通过合规流水线配置,你可自定义强制执行的流水线,应用于任何指定了相应合规框架的项目。我们还有大量的功能来提高流水线的效率和度量,提供 On-call 管理,以及更多的安全增强功能。而这些只是此版本中 50 多个重要的新功能和改进升级中的一部分。
安全和有效增长的控制措施
控制措施可以使你的自动化在增长和扩大规模的过程中保持正轨,同时简化合规工作。极狐 GitLab Kubernetes Agent 是极狐 GitLab 的 Kubernetes 集成的核心,现在可以在极狐 GitLab 上使用。基于代理的集成支持基于拉取(Pull-based)的部署,这是安全的首选,并迅速成为 Kubernetes 部署实践中的流行方法。该代理还支持网络安全策略集成和警报,从而在集群内实现精准的 RBAC 控制。合规流水线配置可实现更高的职责分离,并通过定义可执行的流水线来减少业务风险,这些流水线将运行于分配了相应的合规框架的任何项目。同时,自定义合规性框架标签允许你使用自定义,而不仅是 PCI、HIPPA 之类的通用规范。新的管理模式通过要求管理用户在运行管理命令之前重新验证他们的凭证,增加了对极狐 GitLab 实例的安全和控制。审计报告变得更加便利,在自助管理版的极狐 GitLab 实例中,有一个新的导出功能,可以在同一个报告中看到用户可以访问哪些组、子组和项目。
更快的流水线
"快速、可靠的流水线 "是此次发布的产品核心主题之一,我们在本月通过一系列的流水线改进兑现了这一承诺。
流水线编辑器帮助你更快地启动工作,并在工作开始后保持更高的生产力。新的空状态增强功能将允许新用户在一个新的、空白的流水线文件上开始直接使用流水线编辑器,而不必先创建一个配置文件。在一个作业中配置多个缓存键的能力将帮助你提高流水线性能,你可以从 CI/CD 仪表板上衡量这些改进,其中一个新的 DORA 4 图表将通过代码提交和部署到生产的时间来显示变更的准备时间。与此相关的是,关于 DevOps 采用率指标现在可以用于群组层面,让用户了解极狐 GitLab 的 DevOps 各项能力的使用情况。
确保你的软件供应链安全
安全专家会很高兴看到我们增加了 Semgrep 灵活的规则语法来扩展和修改自定义检测规则,这是极狐 GitLab SAST 客户的普遍要求。我们还增加了对自定义证书和密钥到期的电子邮件提醒的支持。现在你可以通过对 Git 操作强制执行 SAML 来提高你的安全态势。新的 On-call 管理将极狐 GitLab 中收到的警报传送给该项目日程表中的值班工程师。这对我们未来安全警报能力的成熟会特别的帮助,因为它提供了一个非常重要的事件管理能力,该能力在整个 DevOps 过程中具有端到端的可见性。
极狐 GitLab13.11 发布的主要功能
合规流水线的配置
旗舰版
我们很高兴地宣布,现在可以对指定了合规(compliance)框架的项目,配置强制执行的流水线。
对于希望在流水线工作流程中实施合规要求的团队来说,他们现在可以通过为特定的合规框架设置一条流水线,来强制执行更多的职责分工。所有使用该框架的项目将自动包含预定义的流水线。在下游项目中,用户可以扩展,但不能修改这些的流水线配置,确保每次都以相同的方式运行合规步骤。
此功能节省了安全和合规团队的时间,因为不需要手动复制流水线配置到每个需要它的项目,然后有监控功能来防止编辑或删除配置。开发团队只要关注遵循政策,而无需成为合规方面的专家。
为合规框架定义一个合规性流水线配置,是一个可以确保组织能始终满足监管要求的有效措施,同时节省每个人的时间,并鼓励安全/合规团队和开发团队之间的合作。
创建自定义的合规框架标签
专业版 旗舰版
极狐 GitLab 目前提供了几个预定义的合规框架标签,如 GDPR、HIPAA、PCI-DSS、SOC 2 和 SOX。在这个版本中,你现在可以添加自定义框架。这使你能够为你自己的特定框架和流程定制标签。在未来,你将能够创建基于该标签的项目的政策。
On-call 排班管理
专业版 旗舰版
软件服务没有休息时段因为客户都期望 24*7 的可用性。出现问题的时候,你需要一个团队(或多个团队!)来快速有效地应对服务中断的情况。
On-call 是一个有压力的工作,为了更好地管理压力和倦怠,大多数团队都会轮流承担这种待命责任。极狐 GitLab 的 On-call 排班管理允许你和你的团队创建和管理 On-call 工作的时间表。在极狐 GitLab 中通过 HTTP 端点收到的警报,会被转发给对应项目的排版日程表中的待命工程师。
用管理模式重新认证极狐 GitLab 管理
标准版 专业版 旗舰版
极狐 GitLab 现在推出管理模式,帮助管理员通过同一账户来安全地工作。当管理模式未被激活时,管理员拥有与普通用户相同的权限。在运行管理命令之前,管理员用户必须重新验证他们的凭证。管理模式通过对敏感操作和数据的保护,增加了实例的安全性。
感谢来自西门子的 Diego Louzán 的贡献。没有他的坚持不懈,就没有管理模式这个功能,这项功能开发了一年之久。
导出用户访问报告
专业版 旗舰版
注重合规性的企业经常需要审计其用户对公司系统和资源的访问。以前,在 GitLab 中实现这一目标需要使用我们的审计相关的 API 建立自定义工具来收集你需要的数据。
现在,你只需在自助管理版极狐 GitLab 实例的管理区域点击一个导出按钮,就可以获得一个 CSV 文件,其中包含所有用户的列表和他们可以访问的群组、子组和项目。在更短的时间内对用户的访问进行审计,现在变得更加容易了。
在同一作业中使用多个缓存
标准版 专业版 旗舰版
极狐 GitLab CI/CD 提供了一个缓存机制,任务在运行的时候,可以节省宝贵的开发时间。以前,在同一个作业中不可以配置多个缓存键。这个限制导致你需要使用制品(artifact)来进行缓存,或使用不同缓存路径的重复的任务(job)。在这个版本中,我们提供了在一个任务中配置多个缓存键的能力,这将帮助提高你的流水线性能。
追踪 DORA 4 变更前置时间的指标
旗舰版
衡量你的软件开发生命周期的效率是任何组织发展 DevOps 的重要步骤。在上一个里程碑中,我们增加了对项目层面上的变更准备时间的 API 支持。这些指标给出了对流程运转的衡量,所以你知道代码被提交和部署到生产环境需要多长时间。在这个版本中,你可以在极狐 GitLab 界面中的 CI/CD 仪表板访问这一功能,有一个新的图表显示变更前置时间,并在不同的时间范围下查看该指标,如上周、上个月或过去 90 天。除了新的图表,我们还在组的层级上增加了对该 API 的支持,允许你查看该组下所有项目的变更前置时间指标的综合结果。
极狐 GitLab+Semgrep:为 SAST 的未来升级
标准版 专业版 旗舰版
极狐 GitLab 的 SAST 是由十几个开源静态安全分析支持的。这些分析器每月为使用极狐 GitLab 的开发者主动发现数百万个漏洞。这些分析器中的每一个组件都是对特定的语言,并用不同的技术方法进行扫描。这些差异给我们更新、管理和维护功能带来了额外的工作量,也给调试的人带来了困惑。
极狐 GitLab 静态分析团队一直在不断评估新的安全分析器。来自 r2c 开发团队的新工具 Semgrep 给我们留下了深刻印象。它是一个快速、开源的静态分析工具,用于查找漏洞和执行代码标准。Semgrep 的规则看起来就像代码,这意味着你可以编写自己的规则,而不必理解抽象语法树(AST)或与重码纠缠。
Semgrep 灵活的规则语法是简化极狐 GitLab 的自定义规则集功能的理想选择,可以扩展和修改检测的规则,这是极狐 GitLab 的 SAST 客户的普遍需求。Semgrep 还拥有一个由 1000 多个社区规则组成的不断增长的开源注册表。
我们正在将我们许多基于 lint 的 SAST 分析器过渡到 Semgrep。这一过渡将有助于提高稳定性、性能和规则覆盖率,并允许极狐 GitLab 客户访问 Semgrep 的社区规则,同时我们将在未来增加的额外的自定义规则集功能。我们很高兴能与 r2c 团队合作,迫不及待地想把我们更多的分析器过渡到 Semgrep。你可以在我们的过渡史诗中读到更多的内容,或者尝试一下我们第一批用于 JavaScript、TypeScript 和 Python 的实验性的 Semgrep 分析器。
我们很高兴看到这一转变,对极狐 GitLabSAST 和更大的 Semgrep 社区的未来意义重大。极狐 GitLab 将为 Semgrep 开源项目做出贡献,包括额外的规则,以确保覆盖率符合或超过我们现有的分析器。
创建发行版的命令行工具(release CLI)支持自定义 CA 证书
标准版 专业版 旗舰版
截至目前,如果你使用的是极狐 GitLab 的自助管理版,创建发行版的命令行工具只支持公共证书,但不能使用自己的自定义证书。在极狐 GitLab 13.11 中,我们通过使用 ADDITIONAL_CA_CERT_BUNDLE 环境变量或--additional-ca-cert-bundle 标志,增加了对自定义证书机构(CA)证书的支持。此外,还增加了 INSECURE_HTTPS 环境变量和--insecure-https 标志,这样客户端就可以跳过对服务器证书的验证,因为自定义 SSL 证书通常会失败,因为它不是由公共 CA 签署。
针对议题和合并请求的实例和群组描述模板
专业版 旗舰版
现在你不用在几十个项目中手动更新相同的描述模板,而可以在一个资源库中集中管理你的模板。我们已经扩展了实例和群组文件的模板,包括了议题和合并请求的描述模板。当你在文件模板库中创建一个.gitlab 目录时,描述模板将可用于属于该实例或群组的所有项目。每个群组或子组还可以设置一个额外的模板库,这将使来自多个文件模板库的模板逐级下传到你的子组和项目。
CI/CD 流水线中的可选项 DAG(‘needs:’)任务
标准版 专业版 旗舰版
极狐 GitLabCI/CD 中的有向无环图(DAG)让你可以使用 needs 语法来配置一个任务,让它能在自己的阶段开始前启动(一旦它依赖的作业完成)。我们还有 rules、only 或 except 等关键字,这些关键字决定一个任务是否被添加到流水线中。但是,如果你将 needs 语法与这些其他关键字结合起来,当一个依赖任务没有被添加到流水线时,你的流水线有可能失败。
在这个版本中,我们在 DAG 任务的 needs 语法中加入了 optional 关键字。如果一个依赖任务被标记为 optional 但不存在于流水线中,那么 needs 任务会忽略它。如果该任务被标记为 optional,并且存在于流水线中,那么 needs 任务会等它完成再开始。随着 DAG 越来越受欢迎,这个功能更简单安全地和 rules、only 和 except 关键字结合。
群组级别的特定环境(environment-specific)变量
专业版 旗舰版
许多组织喜欢在群组级别(group level)指定 secret 和其他环境变量,因为它与团队的边界或信任等级很一致。到目前为止,群组级别的环境变量会应用到所有的环境,这限制了它们在很多用例中的可用性。今天,我们正在发布组级别的特定环境变量。
这一变化延伸了项目层面上的类似功能。从现在开始,群组的维护者可以指定环境使用某个特定的变量。
使用极狐 GitLab Operator 在 OpenShift 和 Kubernetes 上部署极狐 GitLab(测试版)
标准版 专业版 旗舰版
极狐 GitLab 正在致力于为 OpenShift 提供全面支持。为了实现这一目标,我们已经发布了 MVP 产品极狐 GitLabOperator,旨在管理 Kubernetes 和 OpenShift 容器平台上的极狐 GitLab 实例的整个生命周期。目前,这是一个测试版,不建议在生产环境中使用。下一步将是正式发布(GA)。未来,极狐 GitlabOperator 将成为 Kubernetes 和 OpenShift 的推荐安装方法,而极狐 GitLabHelm 仍将被支持。欢迎试用这个功能,并在我们的议题追踪器上提供反馈。
评论