Рубрики
Uncategorized

CICD статический веб -сайт S3 с действиями GitHub

Привет!! Несколько дней назад я работал с разработчиком на простой целевой странице с нулевыми осложнениями. Он … с меткой AWS, CICD, хостингом, CloudFormation.

Привет!! Несколько дней назад я работал с разработчиком на простой целевой странице с нулевыми осложнениями. Ему нужен был простой способ визуализации его изменений, очевидно, в нашей нынешней инфраструктуре AWS.

Лучший способ достичь этого был с помощью GitHub Actions + S3 Static Swebites, и я расскажу вам, как я это сделал.

Шаги

  1. Предоставьте ковш S3 и пользователь IAM с облачной информацией.
  2. Добавьте секреты AWS от нашего пользователя IAM в репозиторий GitHub.
  3. Разверните приложение в ведро S3 с помощью действий GitHub.

Во -первых, мы должны развернуть наши ресурсы с помощью AWS CloudFormation. В следующем шаблоне CF (main.yml) он определен:

  • S3 Bucket
  • Ковша политика
  • IAM пользователь
  • IAM Политика встроена

Если вы уже установили AWS CLI:

aws cloudformation create-stack --stack-name your-stack-name --capabilities CAPABILITY_IAM --template-body file://main.yml --parameters ParameterKey=BucketName,ParameterValue=your-unique-bucket-name

В противном случае:

Для этой необходимости войти в консоль AWS -> CloudFormation -> Stack -> Создать мешок -> Загрузите файл шаблона.

Он попросит вас подтвердить, что этот шаблон облачной информации создаст ресурсы IAM, в данном случае, пользователь.

Теперь мы идем за IAM User : https://console.aws.amazon.com/iam/

IAM -> Пользователи -> ваш новый пользователь -> Учетные данные безопасности Ключ доступа -> Создайте ключ доступа

Скачать .csv file

Нам нужно установить AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY В разделе «Секреты репозитория GitHub», необходимый для загрузки файлов в наш ковш S3.

S3_Bucket : Название ведра назначения S3_bucket_region : Регион ведра назначения

Настройки -> Секреты -> Новый репозиторий секрет

Я настоятельно рекомендую использовать это непрерывное развертывание только Для сценических сред. По этой причине мы создадим филиал QA.

git checkout -b QA

Создание филиала из ui github

Далее мы создадим наш файл deploy.yml в пути: .github/рабочие процессы

mkdir -p .github/workflows && touch .github/workflows/deploy.yml

Если вы хотите запустить его на определенной ветви, измените ветви

Действие GitHub: https://github.com/Reggionick/s3-deploy .

Наше приложение уже развернуто Github Deaves!

Проверьте свой веб -сайт S3 с последнего вывода CloudFormation:

http://your_bucket_name.s3-website-your_region.amazonaws.com/

Для HTTPS: Настройка статического веб -сайта с использованием пользовательского домена, зарегистрированного на маршруте 53

Если вы работаете с React, следующий трубопровод может помочь вам:

React-Router 404 Ошибки: https://via.studio/journal/hosting-a-reactjs-app-with-routing-on-aws-s3 Пример CORS-Cloodformation: https://git.io/JtQZK

Если у вас есть какие -либо комментарии или улучшения для этого поста, я был бы рад их получить.

Спасибо за ваше время 👋👨‍💻.

Оригинал: «https://dev.to/luiscusihuaman/cicd-static-website-to-s3-with-github-actions-4627»