我正在开发一个 C++ 项目,需要自定义构建 QT 和其他大型库。
通常,这些库、二进制文件和依赖项将被上传为工件并命名为 QT6.static.tar.gz 之类的名称。当 gitlab CI/CD 管道启动时,它可以拉取这些依赖项并开始构建。
我现在的情况是我唯一的工具是 gitlab。 gitlab 中的工件似乎与创建它们的管道有着千丝万缕的联系。
我希望我的 CI 工作流程如下:
我可以通过使用容器注册表和 docker 层缓存来复制这一点 - 但这似乎有点做作。或者,这些构建的文件可以存储在 git LFS 中,但我也不喜欢这种解决方案。
Gitlab 通用包注册表允许您在项目的包注册表中发布通用文件,例如发布二进制文件。然后,每当您需要将软件包用作依赖项时,请安装它们。
参见 Gitlab 文档