如何在 Amplify 中引入额外的私有存储库

How to pull in additional private repositories in Amplify

尝试使用 AWS Amplify 部署多存储库 dendron wiki,其中混合了 public 和私有 github 存储库。

Amplify 可以与单个存储库相关联,但似乎没有内置方法来引入额外的私有存储库。

  1. 为 github 中的私人仓库创建自定义 deploy key
    • 生成密钥
    ssh-keygen -f deploy_key -N ""
    
  2. 将部署密钥编码为 base64 编码的环境变量以获取振幅
    cat deploy_key | base64 | tr -d \n 
    
  3. 修改 amplify.yml 文件以使用部署密钥
    • 有两个关键步骤
      • 将部署密钥添加到 ssh-agent
        • 警告:此实现会将 $DEPLOY_KEY 打印到 stdout
      • 禁用StrictHostKeyChecking
        • 注意:默认情况下,amplify 没有 $HOME/.ssh 文件夹,因此您需要在部署过程中创建一个文件夹
    • 相关摘录如下
    - ...
    - eval "$(ssh-agent -s)"
    - ssh-add <(echo "$DEPLOY_KEY" | base64 -d)
    
    - echo "disable strict host key check"
    - mkdir ~/.ssh
    - touch ~/.ssh/config
    
    - 'echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
    - ...
    
    • 完整构建文件here

现在您应该可以使用 git 克隆私有存储库了。

有关更详细的文章以及备选方案和问题,请参阅 here