gitlab - 如何为 Gitlab CI/CD 配置编写自动化测试?
问题描述
我已经通知我的 Gitlab CI/CD 配置的复杂性增长得相当快。通常,我可以使用编程语言或基础架构代码为代码编写自动化测试。
是否可以为 gitlab-ci.yml 文件本身编写自动化测试?
它是否存在任何库或测试框架?
理想情况下,我想设置不同的环境变量,执行 gitlab-ci.yml 文件,并对输出进行断言。
解决方案
我不知道目前有任何工具可以真正测试行为。但我最终有两种方法:
1. 以更小的块进行测试,也就是单元测试我的构建块。
我将我的构建提取成更小的块,我可以包含这些块并单独测试。这适用于脚本块等,但对于规则块来说还不够——但提供了很大的价值,例如,我将模板用于某些步骤作为生成的 docker 图像的验证,这些步骤将使用这些图像。
2. 通过 gitlab-ci-local 进行验证
https://github.com/firecow/gitlab-ci-local是一个允许你在本地测试它的工具,它允许你提供环境变量。pr 管道中的分支名称解析存在一些小问题,但除此之外它工作得很好。我用它来测试 GitHub Actions 中的 gitlab ci 文件。
我希望这会有所帮助
推荐阅读
- javascript - 引导数据表搜索输入不会改变
- metrics - 如何自动计算 NER 的准确率(精度、召回率、F1)?
- rest - REST API 资源命名约定 - 用户或用户(复数)
- ios - 应用启动时无法从 didFinishLaunchingWithOptions 访问视图控制器
- swift - 滚动时如何防止 UILabel.textColor 在 dequeueReusableCell 中发生变化?
- esp32 - 使用带有 26 MHx XTAL 的 ESP32 使用 ESP-IDF 读取 DS18b20 传感器
- django - 我如何将逻辑实现到 Django?
- model-view-controller - Kentico 12 MVC ComponentDefinitionProvider 警告
- powershell - 在文本框系统窗口窗体中选择行或索引
- python-3.x - 显示服务器中的所有表情,但带有空格