DevOps 涵蓋下列工作所需的程序、方法和溝通方式:
DevOps 旨在避免下列問題:
Adobe Experience Manager(AEM)部署通常由多個環境組成,用於不同層級的不同用途:
在生產環境中,必須至少有一個製作環境和一個發佈環境。
我們建議由製作和發佈環境組成所有其他環境,以便反映生產環境,並啟用初期測試。
開發人員負責開發和自訂所提出的專案 (無論是網站、行動應用程式或 DAM 實作等),並具備所有必要的功能。上述功能為:
開發環境的設定可能取決於多種因素,但通常包括:
根據您的系統規模,開發環境可同時擁有製作例項和發佈例項。
品質保證團隊會使用此環境來全面測試您的新系統;設計和功能。 此環境應同時具備製作環境、發佈環境及適當的內容,並提供所有啟用完整測試套件所需的服務。
預備環境必須是生產環境的鏡像 (包括設定、程式碼和內容):
生產環境包含實際製作與發佈實作所需的環境。
生產環境至少會由一個製作環境和一個發佈環境組成:
根據專案的規模,生產環境通常由多個製作和/或發佈例項組成。在較低的層級中,也可以將存放庫與多個例項一起加入叢集。
製作例項通常位於內部防火牆後。您和您的同事將在此環境中執行製作任務,例如:
已啟用的內容會封裝並放置在製作環境的複寫佇列中。接著,複寫程序會將內容傳輸至發佈環境。
為了將發佈環境中產生的資料反向複寫回製作環境,製作環境中的複寫接聽程式將輪詢發佈環境,並從發佈環境的反向複寫寄件匣中擷上述內容。
發佈環境通常位於非軍事區域 (DMZ) 中。無論是在公開或內部網路中,訪客都將在此環境中存取您的內容 (例如:透過網站或行動應用程式) 並與之互動。發佈環境:
發佈環境會不斷即時產生您的內容,而且可針對個別使用者個人化內容。
程式碼應一律由下向上傳播:
通常會透過在不同內容存放庫間匯出和匯入封裝,來轉移程式碼 (例如自訂的 Web 應用程式功能和設計範本)。這代表可以將此複寫設定為自動程序。
AEM專案常會觸發程式碼部署:
為生產而建立的內容應一律在生產製作例項上製作。
內容不應隨程式碼從較低層級的環境移至較高層級的環境,因為讓作者在本機或較低層級的環境中建立內容,再將內容移至生產環境並非明智作法,而且可能會造成錯誤和不一致。
生產內容應從生產環境移至預備環境,以確保預備環境提供有效率且精確的測試環境。
這並不表示預備內容需要持續與生產同步,定期更新便已足夠 (尤其在測試新的程式碼疊代前。)QA 和開發環境中的內容不需要頻繁更新,只需良好呈現生產內容即可。
內容可經由下列途徑轉移: