무정지 재배포 - TheOpenCloudEngine/uEngine-cloud GitHub Wiki

1. 무정지 재배포

Marketing 서비스를 무정지 재배포로 전환
 > cd marketing
 > cd src/main/java/com/uengine/education
 > nano EventListner.java
 # 10원 상당의 ... -> 10만원 상당의 ... 로 수정 후, 다시 상위의 marketing 폴더로 돌아옴. 

 > mvn package -B -Dmaven.test.skip=true
 # 소스코드를 수정하였으므로 컴파일 및 패키징

 > docker build -t gcr.io/[Project-ID]/class-marketing:v1 .
 # Successfully tagged gcr.io/[Project-ID]/class-marketing:v1

 > docker push gcr.io/[Project-ID]/class-marketing:v1
 # The push refers to repository [gcr.io/my-msa-project/class-marketing]
 # ...

 > kubectl set image deploy class-marketing class-marketing=gcr.io/[Project-ID]/class-marketing:v1
 # deployment.apps "class-marketing" image updated

2. 롤백

  1. 이전 버전으로 복구
 > kubectl rollout undo deployment/class-marketing
 # deployment.apps "class-marketing"
  1. 복구된 서비스로 동작하는지 확인
 > kubectl logs <Marketing pod Name> -f
  1. rollout 가능한 리비젼 리스팅
 > kubectl rollout history deployment/class-marketing
 # deployments "class-marketing"
 # REVISION  CHANGE-CAUSE
 # 2         <none>
 # 3         <none>
  1. 해당 리비젼으로 복구
 > kubectl rollout undo deployment/class-marketing --to-revision=<revision number>
 # deployment.apps "class-marketing"

 > kubectl get po -l run=class-marketing
 # NAME                              READY     STATUS    RESTARTS   AGE
 # class-marketing-b9d9bb8d8-pdsld   1/1       Running   0          19s 
⚠️ **GitHub.com Fallback** ⚠️