Я разместил приложение Angular 7 в AWS S3 как статический веб-сайт и теперь хочу автоматизировать развертывание более новой версии при обновлении моего репозитория github.
Я хочу, чтобы файлы из более новой версии заменяли файлы предыдущей версии в корзине s3. Вот как я это делаю
У меня есть файл buildspec
version: 0.2
phases:
install:
commands:
# install dependencies
- echo Installng source NPM dependencies...
- npm install npm@latest -g
- npm install -g @angular/cli
pre_build:
commands:
- echo Prebuild steps
- npm install
build:
commandS:
# build angular app
- echo Build started on `date`
- ng build
post_build:
commands:
# clear S3 bucket
- aws s3 rm s3://${S3_BUCKET} --recursive
- echo S3 bucket cleared
# copy files from dist folder into S3 bucket
- aws s3 cp dist s3://${S3_BUCKET} --recursive
- echo Build completed on `date`
при запуске конвейера кода процесс завершается с ошибкой в post_build, как показано в журнале здесь
[Контейнер] 2019/04/11 10:33:49 Выполнение команды aws s3 rm s3: // $ {S3_BUCKET} --recursive
/usr/local/lib/python2.7/dist-packages/urllib3/util/ssl_.py:354: SNIMissingWarning: HTTPS-запрос сделан, но расширение SNI (индикация имени сервера) для TLS недоступно для этого Платформа. Это может привести к тому, что сервер представит неправильный сертификат TLS, что может привести к ошибкам проверки. Вы можете перейти на более новую версию Python, чтобы решить эту проблему. Для получения дополнительной информации см. https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
SNIMissingWarning
Ошибка удаления: s3: //trips9ja-admin/3rdpartylicenses.txt Произошла ошибка (AccessDenied) при вызове операции DeleteObject: доступ запрещен
удалить не удалось: s3: //trips9ja-admin/Trips9jaPipeline/SourceArti/FyvYEvb.zip Произошла ошибка (AccessDenied) при вызове операции DeleteObject: доступ запрещен
Ошибка удаления: s3: //trips9ja-admin/assets/bus.png Произошла ошибка (AccessDenied) при вызове операции DeleteObject: доступ запрещен
И вот где я застрял. Так что же я делаю не так и что означает ошибка?
У меня есть политика S3 Bucket, чтобы разрешить доступ к сборке кода, как это
{
"Sid": "CodeBuildPermision",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::735681810231:role/service-role/codebuild-service-role"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::<bucket name>"
}