我的项目被分成gitmodules,如下所示:
/ +
|
+-module_1
| |
| +- cloudbuild.yaml
| +- src/
| +-.git/
|
+-module_2
| |
| +- cloudbuild.yaml
| +- src/
| +-.git/
|
+- .git/
+- .gitmodules
+- cloudbuild.yaml
我正在尝试从父存储库构建子模块,但是 cloudbuild 对此有问题,因为它不会自己获取 gitmodules。因此,当我module_1/cloudbuild.yaml
引用为云构建配置时,构建失败,因为此文件不存在。我正在考虑可能的解决方法,我想问一下以下是否可行:
- 引用
/cloudbuild.yaml
作为构建配置 - 添加在 CloudBuild.yaml 中获取 gitmodules 的步骤
- 运行不同的云构建文件
结果应如下所示:
steps:
- name: 'gcr.io/$PROJECT_ID/git'
args: ['submodule', 'update', '--init']
- name: 'some kind of command that runs cloudbuild.yaml`
args: ['module_1/cloudbuild.yaml']
免责声明我知道我可以将所有 cloudbuild 配置放在根存储库中,但我希望模块尽可能自治
我认为你想要的是不可能的。我认为这部分不起作用: - 名称:"某种运行 CloudBuild.yaml 的命令">
最好的办法可能是简单地向我们的问题跟踪器提交功能请求,这将允许您直接引用"module_1/cloudbuild.yaml"作为配置。