2016-06-07 53 views
22

嘗試新的靈活的應用程序引擎運行時。在這種情況下,基於谷歌的定製Ruby on Rails運行時提供了ruby運行時。gcloud預覽app部署過程需要~8分鐘,這是正常的嗎?

當發射gcloud preview app deploy整個過程需要8分鐘,其中大部分是「更新服務」。這是正常的嗎?更重要的是,我如何加快速度?

問候,

沃德

+3

這很正常,你正在建設和上傳碼頭圖像 –

+0

我在那裏回答這個問題,也許你可以看到它。 http://stackoverflow.com/a/37806746/2746292 –

回答

18

是的,這是完全正常的。大多數部署步驟都是遠離您的計算機,並且與您的代碼庫大小無關,所以您可以做很多事情來加速此過程。

  1. 從收集的app.yaml信息,以瞭解整體部署
  2. 收集代碼,並使用指定的搬運工圖像:

    所涉及到部署在App Engine應用程序

    各個步驟可歸納如下app.yaml中建立一個碼頭工人形象與您的代碼

  3. 規定計算實例,網絡/防火牆規則,比如上安裝搬運工相關的工具,推動碼頭工人形象的實例並啓動它
  4. 確保所有部署成功,ST藝術健康檢查,如果需要,轉移/平衡負荷。

收集代碼,並使用app.yaml中指定的碼頭工人形象打造 泊塢窗圖像與您的代碼提供計算實例, 網絡/防火牆規則,比如上安裝搬運工相關的工具, 推搬運工圖像實例並啓動它確保所有 部署都成功,開始健康檢查,如果需要, 傳輸/平衡負載。

花費大部分時間的唯一過程是它進行所有必要的檢查以確保部署成功並開始攝取流量的最後部分。根據您的代碼大小(上傳代碼以創建容器)和資源需求(配置自定義資源),步驟2和3可能需要更多時間。

如果你做了一個分析,你會發現大約70%的時間消耗在最後一步,在那裏我們最不可見,但是讓應用引擎能夠完成所有繁重工作的重要過程。

0

請注意,隨後的部署應該比8分鐘快得多。在App Engine Flex上使用Node.js進行測試通常需要1分鐘或更少的時間。

+1

不確定,但如果您在相同的服務和版本上部署,應該是這種情況。如果它是較新的版本或不同的服務,則需要相似的持續時間。這意味着補丁會很快得到應用,但推出/回滾速度很慢。 –

+14

根據我的經驗,後續版本的部署時間不會提高。 –

+1

在Gitlab CI –

8

部署到相同的版本讓我在隨後的部署中從6分鐘到3分鐘。

例子:

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

請務必檢查什麼是它的上傳(它告訴你的這個上部署的位置)的zip,並確保您的YAML skip_files設置爲包括像你的東西。 git目錄,如果你有一個,並且node_modules

0

只需從app的根目錄激發此命令。YAML

從app.yaml中的殼訪問目錄,然後執行gcloud應用部署

它會在幾秒鐘內被上傳。

+1

我認爲你使用的是標準env,問題是關於靈活的env,它需要很長的時間 –

相關問題