Amazon web services 如何在AWSCodeBuild中的Dockerfile*内使用AWS CodeArtifact*

Amazon web services 如何在AWSCodeBuild中的Dockerfile*内使用AWS CodeArtifact*,amazon-web-services,aws-codeartifact,Amazon Web Services,Aws Codeartifact,我正在尝试从aws codebuild中的dockerbuild中的codeartifact进行pip安装 这篇文章并不能完全解决我的问题: 在预构建中登录AWS CodeArtifct;在Docker上下文之外 但是我的pip安装在我的Dockerfile中,我们从一个私有的pypi注册表中获取 如何做到这一点,而不必做一些可怕的事情,比如在prebuild中运行login命令后,将env变量设置为从读取~/.config/pip.conf/派生的密码?因此,我现在就解决了这个问题。看起来有点

我正在尝试从aws codebuild中的dockerbuild中的codeartifact进行pip安装

这篇文章并不能完全解决我的问题:

在预构建中登录AWS CodeArtifct;在Docker上下文之外

但是我的pip安装在我的Dockerfile中,我们从一个私有的pypi注册表中获取


如何做到这一点,而不必做一些可怕的事情,比如在prebuild中运行login命令后,将env变量设置为从读取~/.config/pip.conf/派生的密码?

因此,我现在就解决了这个问题。看起来有点老套,但它很管用:

在预构建中,我运行命令并将~/.config/pip/pip.conf复制到当前构建目录:
然后在Dockerfile中,我将该文件复制到中,进行pip安装您可以设置pip_CONFIG_文件,然后rm it

,下面是我目前解决此问题的方法。看起来有点老套,但它很管用:

在预构建中,我运行命令并将~/.config/pip/pip.conf复制到当前构建目录: 然后在Dockerfile中,我将该文件复制到中,进行pip安装您可以设置pip\u CONFIG\u文件,然后对其进行rm

pre_build:
    commands:
      - echo Logging in to Amazon ECR...
      ...
      - echo Fetching pip.conf for PYPI
      - aws codeartifact --region us-east-1 login --tool pip --repository ....
      - cp ~/.config/pip/pip.conf .
  build:
    commands:
      - docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG .
      - docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG