kmpkg 在持续集成环境中的使用
本文介绍如何在持续集成(CI)环境中高效使用 kmpkg,无论你是通过 kmpkg 管理项目依赖项,还是拥有自定义 kmpkg 注册表并希望为端口添加 CI 测试,都能从中获取指导。
获取 kmpkg
在 CI 环境中获取 kmpkg 的步骤与在开发环境中一致:需克隆 kmpkg 代码仓库(地址:https://github.com/kumose/kmpkg),并运行引导脚本生成 kmpkg 可执行文件。
无论采用哪种获取方式,强烈建议你的 kmpkg 实例保留完整的 Git 历史记录。kmpkg 的版本控制功能依赖完整的提交历史来检索特定版本的端口。
将 kmpkg 用作子模块
在 CI 环境中获取 kmpkg 的简易方式是将 kmpkg 仓库声明为你的代码仓库的子模块:
git submodule init
./kmpkg/kmpkg-bootstrap.sh
使用 Git 命令行工具
另一种方式是在 CI 脚本中执行 Git 命令,克隆 kmpkg 仓库实例:
git clone http://github.com/kumose/kmpkg
./kmpkg/kmpkg-bootstrap.sh
使用第三方 Action/脚本
根据你使用的 CI 服务商,可能存在现成的第三方脚本,可一键获取 kmpkg。请注意,这些第三方脚本并非由 kmpkg 团队维护,若计划使用,需做好充分的安全校验。
不推荐的获取方式
以下方式不建议在 CI 环境中使用:
- 单行安装脚本:
iex (iwr -useb https://aka.ms/kmpkg-init.ps1)(Windows)或. <(curl https://aka.ms/kmpkg-init.sh -L)(Linux/macOS)。 该方式为 kmpkg 的分发形式之一,会启用实验性的“制品(artifacts)”功能,不适用于大多数用户。
配置二进制缓存
强烈建议启用二进制缓存,避免每次 CI 运行时重复构建项目依赖项。
如需了解二进制缓存的更多信息,请参阅以下文档:
配置资产缓存
配置资产缓存可提升 CI 环境的稳定性,减少因外部服务异常导致的构建失败。
如需了解资产缓存的更多信息,请参阅以下文档:
示例参考
以下文档展示了上述配置的实际落地示例: