gpt4 book ai didi

amazon-web-services - 无法在 AWS CodeBuild 镜像中使用 amazon-linux-extras

转载 作者:行者123 更新时间:2023-12-05 09:03:46 25 4
gpt4 key购买 nike

我的 CDK 堆栈使用以下 CodeBuild 项目定义了一个 CodePipeline:

project_build = codebuild.Project(self, "ProjectBuild",
project_name = "Build",
source = github_source,
environment = codebuild.BuildEnvironment(
build_image = codebuild.LinuxBuildImage.AMAZON_LINUX_2_2,
privileged = True),
environment_variables = { … },
build_spec = codebuild.BuildSpec.from_source_filename("cdk/buildspec/build.yml"))

我正在使用 Amazon Linux 2 镜像,并想在其上安装 PostgreSQL,因此我制作了这个简单的构建规范测试文件:

version: 0.2

phases:
install:
commands:
- amazon-linux-extras install postgresql13
build:
commands:
- echo "foo"

这是作业引发的错误:

[Container] 2021/10/12 16:50:32 Entering phase INSTALL
[Container] 2021/10/12 16:50:32 Running command amazon-linux-extras
/root/.pyenv/versions/3.8.10/bin/python: No module named amazon_linux_extras

[Container] 2021/10/12 16:50:34 Command did not exit successfully amazon-linux-extras exit status 1
[Container] 2021/10/12 16:50:34 Phase complete: INSTALL State: FAILED
[Container] 2021/10/12 16:50:34 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: amazon-linux-extras. Reason: exit status 1

我不明白为什么 amazon-linux-extras 会作为 Python 模块运行。我已经尝试使用 /usr/bin/amazon-linux-extras 绝对路径,但没有取得更好的成功。

我在 Amazon Linux 实例上直接使用 amazon-linux-extras 从未遇到过任何问题,但我应该如何在 CodeBuild 上下文中使用它?

最佳答案

amazon-linux-extras 脚本似乎只适用于 Python 2,并且正在使用 python 可执行文件。

我需要像这样为我的命令添加前缀,以确保使用 python2 可执行文件:

version: 0.2

phases:
install:
commands:
- PYTHON=python2 amazon-linux-extras enable postgresql13
- yum clean metadata
- yum install postgresql
build:
commands:
- echo "foo"

关于amazon-web-services - 无法在 AWS CodeBuild 镜像中使用 amazon-linux-extras,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69544409/

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