0

Ich habe einen CD-Arbeitsablauf mit CodePipeline + CodeCommit + CodeDeploy für EC2-Instanzen.AWS CodePipeline + CodeDeploy + CodeCommit mit Option --file-exists-behavior

Ich habe alles andere außer dieser --file-exists-behavior-Option. Wenn ich eine Bereitstellung über die AWS-CLI oder die Konsole erstelle. Die Bereitstellung funktioniert einwandfrei.

Gibt es trotzdem ich kann diese Option mit CodePipeline verwenden?

Ich bekomme immer noch einen Fehler ohne diese Option.

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

+0

ähnliche Lösung diskutiert: https://stackoverflow.com/questions/41590332/aws-codedeploy-fail-the-deployment-failed-because-a-specified-file-already-exis – Kannaiyan

+0

Hallo, Kannaiyan, ich habe diese Frage gelesen, aber es beinhaltet CodePipeline nicht. –

Antwort

0

Also, wenn Sie bereitstellen, wird CodeDeploy nach einer Datei (auf der Instanz) mit Informationen über zuvor implementierte Dateien für die Anwendung/Einsatz-Gruppe in Frage, wenn es die Datei findet sie es dann verwendet es, um die vorhandenen Dateien zu bereinigen (zu löschen) und das Kopieren der neuen Revisionsdateien vorzubereiten.

Refer This AWS Documentation

Aber wenn die Bereinigung Datei nicht existiert, sei es, weil der vorhandene Code zunächst auf andere Weise bereitgestellt wurde (zB Cloudformation Instanz Userdata/Metadatenquellen) oder die CodeDeploy Deployment-Gruppe für neu erstellt wurde Aus irgendeinem Grund ist die Bereinigungsdatei entweder nicht vorhanden oder stimmt nicht mit der Bereitstellungsgruppen-ID überein. Daher wird es nicht ausgeführt. Daher werden die Dateien nicht bereinigt und die Bereitstellung schlägt fehl, da CodeDeploy Dateien nicht überschreibt.

Eine Lösung in diesem Szenario ist ein Hook (z. B. BeforeInstall), der ein Skript zum Löschen der Anwendungsdateien (falls vorhanden) auf der Instanz aufruft.

this helps

+0

Bedeutet es, wenn ich die Dateien einmal mit CLI oder Konsole einmal bereitstellen muss, muss ich mich nicht um die Option --file-exists-behavior kümmern? –

+0

Nein, das war für CLI Sie würden immer noch ein Skript für vor der Installation benötigen, um vorhandene Datei zu entfernen –

Verwandte Themen