教程:使用GitLab自动发布程序并生成发布说明

翻译:RangWu
原文:《Tutorial: Automate releases and release notes with GitLab — Ben Ridley》

在开发软件时,对每次发布的变更进行有效沟通至关重要。将新功能以及任何修改或删除及时通知用户,确保他们能正确使用软件,并在升级过程中避免一些意外。

以往创建发布说明和维护变更日志是一项繁重的任务,需要开发人员密切关注外部变更或由专门负责发布的经理筛选合并历史。而使用GitLab的Changelog API,您可以通过git仓库中提供的丰富的历史信息轻松创建发布说明和维护变更日志。

在本文中,我们将深入探讨如何使用GitLab自动化发布程序,包括生成发布制品、发布说明和详细的面向用户的软件变更日志。

阅读更多

如何将GitLab漏洞报告导出为HTML或PDF格式或导出到Jira

翻译:RangWu
原文:《How to export vulnerability reports to HTML/PDF and Jira — Siddharth Mathur》

GitLab的漏洞报告功能可以让开发人员在统一的平台上面管理代码,对其进行安全扫描,管理漏洞报告并修复漏洞。但有些团队更喜欢使用类似Jira的单独工具来管理他们的安全漏洞。他们也可能需要以易于理解的格式向领导层展示漏洞报告。

GitLab的漏洞报告可以通过一键点击的方式导出为CSV,方便在其他工具中进行分析。但在某些情况下,一个简单的PDF报告就足够了。

使用GitLab的API,可以轻松查询漏洞信息并将报告详细信息发送到其他地方,比如PDF文件或Jira项目。在本博客中,我们将向您展示如何将GitLab的漏洞报告导出HTML/PDF格式,或直接导出到Jira。

请注意,本教程中使用的脚本仅供参考,并不受GitLab支持。

阅读更多

如何使用GitLab支持ISO 27001合规

翻译:RangWu
原文:《How GitLab can support your ISO 27001 compliance journey — Joseph Longo》

作为一体化平台,通过GitLab可以很容易实现DevSecOps全生命周期管理。GitLab使开发人员能够更快地构建更好的软件应用。但是,它的能力还不仅限于DevSecOps。

2022年10月,ISO组织发布了ISO 27001标准的最新版本。ISO/IEC 27001:2022与其之前的版本相比,包含了一些变化,其中在附件A中新增了对安全编码和配置管理的要求。

利用GitLab产品的功能特性来支持GitLab企业内部的安全合规计划,这是我们内部称为DogFooding的企业文化。GitLab维护的合规和保证凭证概述可以在GitLab的信任中心页面查看。

阅读更多

在GitLab SaaS上保护您的代码

使用ChatGPT翻译,RangWu校审。
原文:《The ultimate guide to securing your code on GitLab.com — Steve Grossman》

DevSecOps方法论的一个关键方面是在开发环境中应用最佳实践来保护您的软件免受恶意和意外的暴露或修改。本文介绍了如何控制和管理JihuLab.com和GitLab.com的访问以及与之相关的源代码管理、流水线构建、依赖和软件包仓库以及部署密钥,这些都涉及到软件供应链安全。以下最佳实践专门针对多租户JihuLab.com和GitLab.com上的最终用户,并针对旗舰版Ultimate许可证编写。并非所有这些功能都适用于专业版Premium许可证。

1. 群组设置

许多与安全相关的设置可以在顶层群组上设置,并会向所有子群组和项目进行级联。它们是保护您的JihuLab.com和GitLab.com实例的最简单和最重要的设置。

阅读更多

使用极狐GitLab在K8S中进行CD的几种方式

随着国家数字化转型战略的持续深入,云原生技术在各行各业中获得了更广泛的应用。其中DevOps和Kubernetes作为云原生应用的标准化平台,扮演着非常重要的角色。

作为一体化DevOps平台,极狐GitLab内置了开箱即用的CI/CD引擎,并可以与K8S集成,便于实现更快、更可靠和更高效的云原生应用程序开发、测试和部署。

网络上有很多关于使用极狐GitLab在K8S中进行CI的方案,本身也比较简单。而关于使用极狐GitLab在K8S中进行CD的内容却比较少,总结的也不是很全面。所以我将这部分内容单独抽离出来,汇总成一篇文章,供大家参考。

在开始阅读文章或进行实操前,你需要掌握以下知识:

  • 掌握K8S的基本概念和使用方式:如K8S对象、对象资源YAML、kubectl等。
  • 掌握GitLab CI的使用方式:如Runner、脚本语法等。
  • 掌握镜像仓库的使用:如Docker Registry、Harbor、GitLab制品库、JFrog Artifactory等。
阅读更多

嵌入式开发场景下的代码管理方案

特别鸣谢:感谢ChatGPT和New Bing,真是写作之利器。

版本控制,也称为源码控制、代码管理,是跟踪和管理软件代码的工作实践。随着信息化、数字化技术的发展,源代码逐渐成为企业的核心数据资产,在企业中有着非常重要的地位。所以如何管理好代码这个数据资产,是每一个企业都需要考虑和解决的问题。而作为数字化时代的先行者,大部分互联网和科技型企业已经完成或者部分完成了这项工作,并借助敏捷开发、DevOps等方法论和工具实现了代码的规范、可靠管理,以及高效高质量的产品交付。

在产业数字化转型,企业DevOps转型的大趋势下,近些年有不少传统嵌入式开发的企业开始参与进来。嵌入式与互联网、科技公司有着不同的技术栈、开发模式和交付方式,对他们来说,并不能发扬拿来主义精神,将“前辈”的经验直接复用。需要结合实际情况走出一条不一样的路,这里首当其冲要解决的就是代码的可靠管理、高效协同以及高质量交付问题。

1. 嵌入式开发场景的代码管理特点与诉求

1.1 特点

阅读更多

重新定义极狐GitLab流水线类型

GitLab CI依靠其一体化、轻量化、声明式、开箱即用的特性,在开发者群体中的使用率越来越高,在国内企业中仅次于Jenkins排在第二位。GitLab流水线有4种不同的类型,分别是:有向无环图流水线、多项目流水线、父子流水线、合并列车。但仅靠这些流水线类型的名称和官方描述很难理解它们的意义和用途,这也导致GitLab CI在开发者群体中使用的深度不够。在与用户沟通和自己实践的过程中,我也梳理了这些流水线类型的功能,并以简洁明了的方式重新“定义”了这些流水线类型,希望能给GitLab CI的初学者一些帮助和参考。

1. 有向无环图流水线 DAG Pipelines

1.1 官方定义

DAG Pipelines 全称是Directed Acyclic Graph Pipelines,即有向无环图流水线,官方的定义和介绍如下:

有向无环图 可以在 CI/CD 流水线的上下文中,用于在作业之间建立关系,以便以最快的方式执行,无论阶段如何设置。

例如,您可能拥有作为主要项目的一部分而构建的特定工具或单独的网站。使用 DAG,您可以指定这些作业之间的关系,系统会尽快执行作业,而不是等待每个阶段完成。

阅读更多

极狐GitLab自动化测试指南05——UI测试

1 理论篇

1.1 什么是UI测试

WIKI百科对于UI测试的解释是:

图形用户界面测试是测试产品的图形用户界面(GUI)以确保其符合其规格的过程。这通常是通过使用各种测试用例来完成的。

按照UI测试的目的,可分为逻辑测试和视觉测试:

阅读更多

极狐GitLab自动化测试指南04——单元测试

1 理论篇

1.1 什么是单元测试

WIKI百科对于单元测试的解释是:

单元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。

熟悉敏捷开发,尤其是XP极限编程的小伙伴对单元测试应该不陌生,XP是TDD(测试驱动开发),这里面的测试就是指单元测试。

阅读更多

极狐GitLab自动化测试指南03——性能测试

1 理论篇

1.1 什么是性能测试

WIKI百科对于性能测试的解释是:

性能测试用于评估和确定系统在特定工作量下的响应和稳定方面的性能。可以用于调查、测量、验证系统的其他质量属性,例如可扩展性,可靠性和资源使用情况。

性能测试按照测试目的不同,可分成不同类型,常见的类型有:

阅读更多