2017-01-11 35 views
4

我正在嘗試使用Github設置AWS Code deploy來自動執行我的部署。我遇到的問題是ec2實例已經激活並且具有網絡應用程序代碼。問題是實例上還有其他內容,我不想在源代碼控制下進行操作。 代碼部署與下面的錯誤而失敗:AWS CodeDeploy失敗:部署失敗,因爲在此位置已存在指定的文件

The deployment failed because a specified file already exists at this location 

這是因爲源代碼的實例,並沒有添加作爲修訂。

所以我的問題是有什麼辦法讓代碼部署識別實例當前文件作爲初始修訂?

回答

6

這是可能的!這是部署過程中的一個選項:「內容選項: 選擇AWS CodeDeploy在部署期間執行的操作,當目標實例上的文件與應用程序修訂中的文件名稱相同時,針對相同的目標位置。

您可以選擇失敗,覆蓋並保留。保留可能是您的案例中的最佳選擇。

你可以找到更多信息

0

我在使用EC2實例的CodeDeploy中工作時遇到同樣的問題。

  • 我刪除EC2實例從AWS CodeDeploy部署組。我向部署組添加了新的EC2實例。
  • 否則,請用新的部署組替換新的部署組。
+0

我不確定這是否是它在新實例上工作的同一問題,但實例上沒有預先存在的代碼,但是當存在回購代碼中的代碼已經手動添加到實例時發生錯誤 – Lonergan6275

0

您可以簡單地刪除Web根目錄的全部內容,並允許CodeDeploy進行更新。任何類型的部署都將取代整個內容。

如果您感覺不確定,請將webroot複製到另一個文件夾中,如果發生不可能發生的故障,您可以將其全部複製。

當磁盤上的文件被修改時,部署通常會失敗,我假設CodeDeploy正在檢查文件的修改時間。