簡體   English   中英

node-grunt-compass適用於AWS CodeDeploy的Heroku Buildpack類比?

[英]node-grunt-compass Heroku's Buildpack analogy for AWS CodeDeploy?

我們正在嘗試為我的nodejs應用程序從Heroku遷移到AWS CodeDeploy。

在Heroku部署中,我們使用nodejs-compass-grunt buildpack來安裝依賴項並運行羅盤。 AWS中是否有任何可與CodeDeploy一起使用的東西,還是僅安裝了帶有evyrthing功能的AMI?

與Heroku不同,CodeDeploy不是PaaS 它是一項服務,可幫助您管理部署到雲基礎架構的軟件。 CodeDeploy與您要部署的軟件類型及其依賴項無關。 這使其非常靈活,但這也意味着您必須做更多工作才能告訴CodeDeploy如何部署軟件。

如果要將框架部署到主機,然后部署依賴於該框架的軟件,則有兩個選擇:

  1. 烘焙一個已經安裝了依賴項的AMI,然后僅部署您的服務。
  2. 在CodeDeploy部署中安裝所有依賴項。

使用選項1,如果要遷移到任何依賴項的新版本,則必須執行與切換到新OS相同的工作。 本質上,您將必須進行藍綠色部署:

  1. 烘焙一個新的AMI。
  2. 設置新的基礎架構。
  3. 將服務部署到新的基礎架構。
  4. 用新的基礎結構替換現有的基礎結構。
  5. 釋放舊的基礎架構。

如果您打算使用CodeDeploy進行原位部署,那肯定會減慢速度。 如果您仍要進行藍綠色部署,那么丟失的唯一事情就是不使用自動售貨機AMI,而必須管理您自己的AMI。

使用選項2,您需要將所有依賴項捆綁為部署存檔的一部分。 您還需要創建腳本來安裝/重新安裝它們。 然后,您可以在“安裝前”生命周期步驟中調用這些腳本。 當您想要更新或回滾依賴項時,您需要做的只是對普通代碼進行更改時要做的事情:

  1. 創建一個新的部署捆綁包。 (理想情況下,這應該是使用CodeDeploy時構建過程的最終結果)
  2. 使用CodeDeploy部署新捆綁包。

這里的缺點是,您必須在每個部署上重新安裝依賴項,或者添加代碼以檢查現有版本,並冒着損壞的依賴項的風險,而不僅僅是通過重新部署相同的捆綁包可以解決該依賴關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM