1

我們從BitBucket進行自動部署,以便部署到三個EC2實例之一。除了我們的/ data目錄(其中包含CMS上傳的圖片,視頻等)之外,目前所有的東西都可以正常工作,而不是存儲庫的一部分。因此在部署期間,特定實例上的現有/ data目錄被刪除。有沒有辦法在AWS CodeDeploy中排除目錄?

我看到可以使用「排除」參數爲文件所有權/組和權限設置排除項;但是,沒有這樣的參數似乎對文件部分存在:

http://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-files.html

看來,如果這將是一個共同的問題,但我一直沒能找到解決的辦法呢。有沒有人有任何建議排除文件覆蓋部署期間?

我現在唯一能想到的就是手動指定每個要重寫的目錄以及appspec.yml中的每個根文件。這很不理想,因爲每次添加新的目錄或根文件時都需要對其進行編輯。

回答

0

如果其他人在尋找,解決方案是通過appspec「files」指令手動指定每個目錄和/或文件。這樣,不包含在列表中的文件就不會被部署。

隨後在添加新目錄或根文件時,需要更新appspec文件。

+0

我們正在尋找一種方法來做到這一點,現在很難相信沒有辦法排除一個模式,而是必須包括所有其他內容並保持結構是最新的。看起來像一個必不可少的功能,我必須能夠排除目錄。 – pixelwiz

0

您應該在部署包之外構建應用程序的數據。

將應用程序數據與部署包保存在同一目錄中不是一個好方法。

+0

感謝您的建議,但這在這種情況下沒有幫助。我已經繼承了一個遺留應用程序。和/數據不是回購的一部分。似乎目前唯一的方法是指定每個目錄和/或根文件。 – edwardr

相關問題