디자인 디테일을 자주 확인해야 하는 경우, 빠른 테스트를 위해 수시로 개발 서버에 배포해야 할 때가 있다. 그러나 이 과정에서 배포 시간이 오래 걸리는 불편함이 있었다. 이에 따라, 배포 시간을 단축할 수 있는 방법을 알아보게 되었다.
- name: Deploy Amazon ECS task definition
uses: aws-actions/amazon-ecs-deploy-task-definition@de0132cf8cdedb79975c6d42b77eb7ea193cf28e
with:
task-definition: ${{ steps.task-def.outputs.task-definition }}
service: ${{ env.ECS_SERVICE }}
cluster: ${{ env.ECS_CLUSTER }}
wait-for-service-stability: false. # <--- default is true
# 무중단 배포할때
# ecs 드레인하고 종료되는 것까지 기다린다: true
# ecs 드레인을 기다리지 않는다: false
wait-for-service-stability: true
일 때는 기존 사용자들(기존 서버가 처리중)의 트래픽을 새 서버에 안정적, 점진적으로 이관wait-for-service-stability: false
일 때는 기존서버를 멈추고 새 서버에 트래픽을 쏠리게해 상대적으로 빠르게 처리전반적으로 "wait-for-service-stability의 서비스 안정성"은 워크플로우의 특정 요구 사항과 사용 중인 서비스와 관련된 위험에 따라 달라진다. 워크플로우에 이 단계를 포함할지 여부를 결정하기 전에 잠재적인 장단점을 신중하게 고려하는 것이 중요하다.