CI/CD 失败,因为缺少构建所需的文件,但在 .gitignore 中的 public 仓库中不需要
CI/CD Fails because missing files needed for build, but not wanted on public repo in a .gitignore
我有一个开源项目的 public 存储库,我还有一个 CI/CD 平台,用于侦听我的提交并构建我的应用程序。
问题是我有重要的构建文件,但我不想成为回购中的 public。
由于 CICD 首先从 GitHub 拉取,它没有获取构建所需的文件,因此它失败了。
如何获得 CICD 敏感文件的副本以及 public 存储库的忽略文件?
我正在为我的 flutter 应用程序使用 CodeMagic CI/CD 顺便说一句。
您可以在 CICD 作业中添加一个步骤,该步骤将在 CICD 作业工作区中已签出的 GitHub 存储库中克隆一个私有存储库(包含敏感文件)。
该内部存储库将被父检出存储库忽略,但仍会存在于构建中。
清理步骤会在生成后删除该文件夹,以便 CICD 在查看作业结果时不会暴露其内容。
我推荐这两种可能的方法:
将文件添加到私有 Git 子模块并将其添加到您的依赖项:
https://docs.codemagic.io/building/access-private-git-submodules/
如果文件不是太多,可以在Codemagic中加密,然后通过环境变量添加。
我有一个开源项目的 public 存储库,我还有一个 CI/CD 平台,用于侦听我的提交并构建我的应用程序。
问题是我有重要的构建文件,但我不想成为回购中的 public。
由于 CICD 首先从 GitHub 拉取,它没有获取构建所需的文件,因此它失败了。
如何获得 CICD 敏感文件的副本以及 public 存储库的忽略文件?
我正在为我的 flutter 应用程序使用 CodeMagic CI/CD 顺便说一句。
您可以在 CICD 作业中添加一个步骤,该步骤将在 CICD 作业工作区中已签出的 GitHub 存储库中克隆一个私有存储库(包含敏感文件)。
该内部存储库将被父检出存储库忽略,但仍会存在于构建中。
清理步骤会在生成后删除该文件夹,以便 CICD 在查看作业结果时不会暴露其内容。
我推荐这两种可能的方法:
将文件添加到私有 Git 子模块并将其添加到您的依赖项: https://docs.codemagic.io/building/access-private-git-submodules/
如果文件不是太多,可以在Codemagic中加密,然后通过环境变量添加。