CodeDeploy part 3 Flashcards

1
Q

Как поэтапно происходит Ci/CD для ECS кластера.
Начиная от “разработчик пушит изменения в CodeCommit с исходным кодом” до “новая версия ECS доставлена”

Использовать
- appspec.yaml
- CodeCommit
- EventBridge
- CodeDeploy
- CodeBuild
- S3
- ECS Task Definition version 1, version 2

A

1) разработчик пушит изменения в CodeCommit с исходным кодом ECS приложения
2) EventBridge фиксирует это событие и вызывает CodeBuild
3) CodeBuild строит новый Docker Image и публикует его в ECR
CodeBuild создаёт ECS Task Definition version 2
CodeBuild ГЕНЕРИРУЕТ новый appspec.yaml, который содержит новый номер версии
CodeBuild отправляет appspec.yaml в S3 bucket
4) CodeDeploy забирает appspec.yaml из S3 bucket’а
CodeDeploy выполняет traffic-shift

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Последовательность CodeDeploy Hooks для ECS?
Как их реализуют?

A

InstallAllowTestTrafficAllowTraffic

AllowTestTraffic - отдельная проверка для тестового трафика

CodeDeploy хуки реализуют
- для EC2/On-premise через скрипты
- для Lambda и ECS через Lambda функции

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

В каких случаях может происходить CodeDeploy Rollback?
Какой выбран по-умолчанию?
Как можно отменить Rollback в целях отладки?
В чём особенность ревизии при Rollback’е?

A

Автоматический rollback может быть вызван, если
- деплоймент непосредственно зафэйлен (ПО-УМОЛЧАНИЮ)
- превышен CloudWatch Alarm threshold

Настройка Disable Rollback в целях отладки

В случае rollback’а, CodeDeploy задеплоит последнюю версию приложения
КАК НОВЫЙ РЕЛИЗ.
А НЕ как старый восстановленный “restored”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

CodeDeploy Error
“Invalid Signature Exception”
В чём может быть причина?
Для каких типов деплоймента характерно?

A

Причина
некорректно установленное ДАТА-ВРЕМЯ на EC2 instance’е
(характерно только для EC2/On-premise деплоймента)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

CodeDeploy Error
Сообщение об ошибке содержит слова “invalid, failed instance”, “unhealthy instance”, “instances are having problems”
В чём может быть причина?
Для каких типов деплоймента характерно?

A

Причиной может быть
- CodeDeploy Agent НЕ установлен
- Права доступа
- CodeDeploy Agent НЕ может достучаться до CodeDeploy API
- CodeDeploy Service Role НЕ имеет достаточно доступов
- EC2 instance profile НЕ имеет достаточно доступов
- CodeDeploy Agent запущен с HTTP Proxy, но НЕ имеет параметра :proxy_uri:
- некорректно установленное ДАТА-ВРЕМЯ на EC2 instance’е

(характерно только для EC2/On-premise деплоймента)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

CodeDeploy Error
Во время деплоймента произошла замена старых instance’ов на новые в ASG.
Но один старый остался.
В чём может быть причина?
Для каких типов деплоймента характерно?

A

Причина ХЗ
По-умолчанию, после успешного деплоймента
CodeDeploy запустит follow-on деплоймент для ЗАМЕНЫ всех устаревших EC2 в ASG.
Ничего делать НЕ нужно

(характерно только для EC2/On-premise BLUE_GREEN деплоймента)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

CodeDeploy Error
Во время CodeDeploy деплоймента произойти ошибка
- на шаге AllowTraffic
- при этом в логах деплоймента сообщений об ошибках НЕТ

В чём может быть причина?
Для каких типов деплоймента характерно?

A

Причиной может быть
- некорректные health-check’и ELB

(характерно только для EC2/On-premise BLUE_GREEN деплоймента)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly