如何在 GitLab Registry 中包含另一个代码库中的代码?

我有一个共享的注册表(一个安装了运行我的代码所需工具的 Docker 映像),被多个代码库使用。我创建了一个名为 LuaServer 的新代码库,其中使用了另一个名为 LuaDB 的代码库中的代码。我在 LuaServer 中创建了一个测试,需要来自 LuaDB 的代码,并在 GitLab CI/CD 中在该共享注册表上运行此测试。在执行此测试期间,我遇到了以下错误:

spec/serializer_spec.lua:36: module 'luadb.manager.AST' not found:No LuaRocks module found for luadb.manager.AST

现在,我尝试直接克隆该代码库并在注册表中设置它(实际上是一个 Docker 映像,现在拥有 LuaDB),但似乎没有成功,因为错误仍然存在。然后,我尝试将 LuaDB 作为 LuaServer 的子模块包含进来,但这仍然没有解决我的问题。有没有办法解决这个问题?

点赞
用户5543391
用户5543391

尝试使用curl从Gitlab repo获取文件(查看Gitlab API)

Gitlab CI/CD流水线在使用其runner(Gitlab共享runner或自定义runner)时,它们使用$CI_PROJECT_DIR env变量上存在的默认路径。因此,您可以将您的代码(luaDB)克隆到$CI_PROJECT_DIR/your_existing_code_luaserver下。

2021-01-05 22:12:16