gpt4 book ai didi

git - 在 AWS Amplify Build 中获取私有(private)子模块

转载 作者:行者123 更新时间:2023-12-04 11:31:17 24 4
gpt4 key购买 nike

我正在使用 AWS Amplify 部署我的应用程序。我决定将我的应用程序的一部分分成一个子模块。现在,当我构建运行 git submodule update --init --recursive在 Amplify 的构建中,它给了我一个访问错误,因为它是一个私有(private)存储库,AWS 无法访问它。

我有两种选择,一种是使用https获取 repo,但它需要我将我的用户名和密码放在子模块中。或者想办法让 AWS 生成一个 SSH key ,我可以将它与子模块 SSH 访问配对以继续。我想使用后者,但我不知道如何在 AWS Amplify 中使用。

最佳答案

似乎一种解决方案是生成一个没有密码短语的 SSH key (不安全的解决方案),然后将其作为环境变量添加到 aws-amplify 项目中:

  • 生成不带密码的 ssh key :
  • ssh-keygen -f deploy_key -N ""
  • 复制您的私钥的 base64 编码内容 cat deploy_key | base64 -w0到您的 Amplify 项目环境变量中。例如。 DEPLOY_KEY
  • 复制您的公钥内容 cat deploy_key.pub到您的 ~/.ssh/authorized_keys(取决于您的存储库提供商,在我们的案例中,Bitbucket 的存储库设置中的访问 key )
  • 在您的 amplify.yml 的 preBuild 或 build 部分添加以下内容:
  • commands:
    - eval $(ssh-agent -s)
    - ssh-add <(echo "$DEPLOY_KEY" | base64 --decode)

    关于git - 在 AWS Amplify Build 中获取私有(private)子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56219052/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com