CI / CD失败,因为缺少构建所需的文件,但在.gitignore的公共仓库中不希望丢失文件

问题描述

我有一个开放源代码项目的公共存储库,还有一个CI / CD平台,用于侦听我的提交并构建我的应用程序。

问题是我有用于构建的重要文件,但是我不想在回购中公开。
由于CICD首先是从GitHub提取的,因此未获取构建所需的文件,因此失败了。

如何获得CICD敏感文件的副本以及公共仓库的忽略文件
我正在为Flutter应用程序BTW使用CodeMagic CI / CD。

解决方法

我建议这两种可能的方法:

  1. 将文件添加到私有Git子模块并将其添加到依赖项: https://docs.codemagic.io/building/access-private-git-submodules/

  2. 如果文件太多,则可以使用Codemagic对其进行加密,然后通过环境变量添加它们。

,

您可以在CICD作业中添加一个步骤,该步骤将在CICD作业工作区中已签出的GitHub存储库中克隆一个私有存储库(包含敏感文件)。

该内部存储库将被父检出的存储库忽略,但对于构​​建仍将存在。
清理步骤将在构建后删除该文件夹,以使CICD在查看作业结果时不显示其内容。