我使用codepipeline codecommit codeDeploy到EC2实例有CD工作流程。
我还有其他所有功能,除了这个-File-Evile-Behavior选项。如果我从AWS CLI或控制台创建部署。部署工作正常。
无论如何我可以使用CodePipeline吗?
使用此选项我仍然没有此选项而遇到错误。
The deployment failed because a specified file already exists at this location
因此,当您部署时,CodeDeploy会在实例上寻找文件(在实例上),并在相关的应用程序/部署组中使用先前部署的文件,如果它找到文件然后,它将其用于清理(删除)现有文件,准备复制新的修订文件。
请参阅此AWS文档
但是,如果不存在清理文件,则可能是因为最初以其他方式部署了现有代码(例如CloudFormation实例USERDATA/METADATA源),或者是由于某种原因重新创建了编码EDEPLOY部署组,然后是清理文件要么不存在或不匹配部署组ID。因此,它不会运行。因此,由于编码不覆盖文件,因此不会清理文件,部署将失败。
在这种情况下可能有什么解决方案是要有一个挂钩(例如,插图之前)调用脚本来删除实例上的应用程序文件(如果存在的话)。
希望这有帮助