2016-06-07 8 views
22

새로운 유연한 앱 엔진 런타임을 사용해 보았습니다. 이 경우에는 Google에서 제공 한 루비 런타임을 기반으로하는 맞춤식 Ruby on Rails 런타임이 필요합니다.gcloud 미리보기 앱 배포 프로세스가 8 분 정도 걸립니다. 정상입니까?

gcloud preview app deploy의 발사는 전체 프로세스가 ~ 8 분이 소요되며 대부분이 "업데이트 서비스"입니다. 이게 정상인가? 그리고 더 중요한 것은, 어떻게 속도를 높일 수 있을까요?

감사합니다,

워드

+3

정상적으로, 당신은 대부분의 시간에 도커 이미지를 만들고 업로드하고 있습니다. –

+0

나는이 질문에 대답했습니다. 어쩌면 보셨을 것입니다. http://stackoverflow.com/a/37806746/2746292 –

답변

18

는 네, 완전히 정상입니다. 대부분의 배포 단계는 컴퓨터에서 떨어져서 코드베이스 크기와 무관하므로 프로세스 속도를 높이기 위해 할 수있는 일이 많지 않습니다.

  1. 전체 배포를
  2. 수집 코드를 이해하고 지정된 고정 표시기 이미지를 사용하는 애플리케이션 제목에서 정보를 수집 다음과 같이 앱 엔진에 응용 프로그램을 배포에 관여

    여러 단계를 분류 할 수 있습니다 애플리케이션 제목은 코드

  3. 조항의 계산 인스턴스, 네트워크/방화벽 규칙, 예에 고정 표시기 관련 도구를 설치 인스턴스에 고정 표시기 이미지를 밀어하고
  4. 확인 모든 배포에 성공했다 확인 시작 성으로 고정 표시기 이미지를 구축 예술 건강 점검 및 필요한 경우 부하를 전송/균형 조정합니다.

수집 코드와, 인스턴스에 밀어 고정 표시기 이미지를, 당신의 코드 조항의 계산 인스턴스, 네트워킹/방화벽 규칙으로 고정 표시기 이미지를 구축 인스턴스에서 고정 표시기 관련 도구를 설치하는 애플리케이션 제목에 지정된 고정 표시기 이미지를 사용 시작하십시오. 배포가 모두 완료되었는지 확인하고 상태 확인을 시작하고 필요한 경우 로드를 전송/균형 조정합니다.

대부분의 시간이 걸리는 유일한 프로세스는 배포가 성공적으로 수행되었는지 확인하고 트래픽을 처리하기 위해 필요한 모든 검사를 수행하는 마지막 부분입니다. 코드 크기 (컨테이너 작성을위한 코드 업로드) 및 자원 요구 사항 (사용자 정의 자원 프로비저닝)에 따라 2-3 단계는 약간 시간이 걸릴 수 있습니다.

분석을 수행하면 마지막 단계에서 약 70 %의 시간이 소비되는 것을 볼 수 있습니다. 앱 엔진에서 모든 과중한 작업을 수행 할 수있는 필수 프로세스입니다.

0

후속 배치는 8 분보다 훨씬 빠릅니다. App Engine Flex에 대한 Node.js 테스트에서 대개 1 분 이내입니다.

+1

확실하지 않지만 동일한 서비스 및 버전을 통해 배포하는 경우에는 해당됩니다. 최신 버전이거나 다른 서비스 인 경우 비슷한 시간이 걸립니다. 즉, 패치는 빠르게 적용되지만 롤아웃/롤백은 느립니다. –

+14

내 경험으로는 이후 버전의 배포 시간이 개선되지 않습니다. –

+1

광산은 Gitlab CI에서 항상 ~ 10 분입니다. –

8

같은 버전으로 배포하면 이후 배포시 6 분에서 3 분으로 단축됩니다.

예 :

$ gcloud app deploy app.yaml --version=test 
0

당신이 (당신에게 배포에 대한이의 위치를 ​​알려줍니다) 업로드 된 우편에 무엇인지 확인하고 YAML의 skip_files가 당신 같은 것들을 포함하도록 설정되어 있는지 확인해야합니다. 자식 디렉토리가 있다면 자식 디렉토리, node_modules

0

단지이 명령을 app의 루트 디렉토리에서 시작하십시오.애플리케이션 제목의 쉘 방문 디렉토리에서 YAML

은 gcloud 응용 프로그램은

그것은 몇 초 이내에 업로드됩니다 배포 실행합니다.

+1

당신이 표준 env를 사용하고 있다고 생각합니다. 질문은 유연한 env에 관한 것입니다. –

관련 문제