Python 子进程在 Codebuild buildspec yml 中运行不正确

问题描述 投票:0回答:0

我有一个 python 脚本来更新我的 repo 中的 ECR 图像,并保留一些以前的图像,以防新图像出错。我正在尝试从 Codebuild 中的 buildspec yml 文件运行它,但它没有正确执行。以下是构建规范和我的 py 脚本中的相关行。

  build:
    commands:
      - echo Updating previous images in ECR repo
      - python3 UpdateECRImages.py
        run(f"docker pull {image_string}grafana-1")

运行命令是从子进程导入的,整个脚本在本地按预期工作。我还尝试过在 buildspec 文件中运行该 ecr 命令,以验证正确的 IAM 权限也已到位并且执行无误。但是,当我在 Codebuild 中运行它时,会抛出一个错误:FileNotFoundError: [Errno 2] No such file or directory: 'docker pull ############.dkr.ecr.us-east-1 .amazonaws.com/#########:grafana-1'

再一次,我可以从 buildspec 文件运行这些 docker 命令,但不能从 buildspec 文件中的 py 脚本运行,我不确定为什么。任何帮助表示赞赏。

python subprocess aws-codebuild amazon-ecr
© www.soinside.com 2019 - 2024. All rights reserved.