Первый и рекомендуемый вариант - создать собственный код сборки с помощью CodeBuild, например, использовать [1], который включает в себя aws sam cli.
Второй и более сложный вариант - установить SAM CLI самостоятельно. Поскольку brew нельзя использовать как root, а контейнер сборки CodeBuild работает как root, это будет сложно. Ниже приведена сборка c, которую я протестировал и могу подтвердить, установит aws sam cli:
Buildspe c:
version: 0.2
phases:
install:
commands:
- curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh > /tmp/install.sh
- cat /tmp/install.sh
- chmod +x /tmp/install.sh
- useradd -m brewuser
- echo "brewuser:brewuser" | chpasswd
- adduser brewuser sudo
- /bin/su -c /tmp/install.sh - brewuser
- /bin/su -c '/home/brewuser/.linuxbrew/bin/brew tap aws/tap' - brewuser
- /bin/su -c '/home/brewuser/.linuxbrew/bin/brew install aws-sam-cli' - brewuser
build:
commands:
- PATH=/home/brewuser/.linuxbrew/bin:$PATH
- sam --version
Примечание. Согласно моему тесты, Python 3.8 не включает в себя sam cli.