【问题标题】:How do I create my secret awsconfiguration.json in CI?如何在 CI 中创建我的秘密 awsconfiguration.json?
【发布时间】:2020-10-02 11:12:49
【问题描述】:

我一直在使用 AWS amplify 构建我的 iOS 应用程序的后端。

我在后端创建了 4 个 DTAP 环境,具有 4 种不同的配置,并使用运行脚本根据所选方案在编译时切换 awsconfiguration.jsonamplifyconfiguration.json 的正确版本。

由于这些自动生成的配置文件包含许多秘密和 API 密钥,我将它们远离我的 .gitignore 中的源代码控制,因为这将是一个失败点,我不想暴露我的全部这样后端。

这在本地运行良好,但是当我在 Bitrise 上运行我的 CI 时,构建失败,因为这些配置文件不存在。我需要找到一种方法将这些 AWS 和 Amplify 配置文件导入 CI,以便能够创建我的测试版本。

如果我过于谨慎,而配置文件实际上可以保存在源代码管理中(即不是秘密),请告诉我。我真的不想将机密设置为单独的环境变量,因为 Amplify 将为我需要的每个环境提供多个机密和端点,并且将这些配置文件构建为 CI 阶段的脚本感觉太混乱和复杂了。

我尝试过的事情:

  • 使用在编译时复制的虚假机密创建模拟配置文件 - 这会失败,因为编译时脚本仍会尝试为真实环境复制不存在的配置文件
  • 在 Bitrise 中使用单个环境变量作为机密 - 这可能会奏效,但对于我的 1-dev 初创公司来说,维护起来将是一项巨大的努力
  • 触摸要复制的虚假配置文件 - 这可行,但意味着实际的 AWS 基础设施在测试构建中不起作用

如果有人有任何想法、建议或经验,我将不胜感激。

谢谢

雅各布

【问题讨论】:

    标签: ios amazon-web-services continuous-integration aws-amplify bitrise


    【解决方案1】:

    我建议使用通用文件存储和相关步骤来下载它们。这会将它们注入到您的构建中,您将能够在编译项目之前将它们放置在需要的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-20
      • 2021-10-26
      • 2020-12-04
      • 2021-05-03
      • 2021-02-12
      • 2022-01-02
      • 2012-03-09
      • 1970-01-01
      相关资源
      最近更新 更多