Mit dem CodeDeploy Agenten arbeiten - AWS CodeDeploy

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Mit dem CodeDeploy Agenten arbeiten

Der AWS CodeDeploy Agent ist ein Softwarepaket, das, wenn es auf einer Instanz installiert und konfiguriert ist, die Verwendung dieser Instanz in CodeDeploy Bereitstellungen ermöglicht.

AWS unterstützt die neueste Nebenversion des CodeDeploy Agenten. Derzeit ist die neueste Nebenversion 1.7.x.

Anmerkung

Der CodeDeploy Agent ist nur erforderlich, wenn Sie ihn auf einer EC2 /On-Premises-Computerplattform bereitstellen. Der Agent ist für Bereitstellungen, die die Amazon ECS - oder AWS Lambda-Rechenplattform verwenden, nicht erforderlich.

Eine Konfigurationsdatei wird auf der Instance platziert, wenn der Agent installiert wird. Diese Datei wird verwendet, um festzulegen, wie der Agent arbeitet. Diese Konfigurationsdatei spezifiziert Verzeichnispfade und andere Einstellungen, die bei AWS CodeDeploy der Interaktion mit der Instance verwendet werden sollen. Sie können einige der Konfigurationsoptionen in der Datei ändern. Hinweise zur Arbeit mit der CodeDeploy Agent-Konfigurationsdatei finden Sie unterCodeDeploy Referenz zur Agentenkonfiguration.

Weitere Informationen zur Arbeit mit dem CodeDeploy Agenten, z. B. zu Schritten zur Installation, Aktualisierung und Überprüfung von Versionen, finden Sie unterVerwaltung des CodeDeploy Agentenbetriebs.

Betriebssysteme, die vom Agenten unterstützt werden CodeDeploy

Unterstützte EC2 AMI Amazon-Betriebssysteme

Der CodeDeploy Agent wurde auf den folgenden EC2 AMI Amazon-Betriebssystemen getestet:

  • Amazon Linux 2023 (ARM, x86)

  • Amazon Linux 2 (ARM, x86)

  • Microsoft Windows Server 2022, 2019

  • RedHat Enterprise Linux (RHEL) 9.x, 8.x, 7.x

  • Ubuntu Server 22.04LTS, LTS 20.04, 18.04, 16.04 LTS LTS

Der CodeDeploy Agent steht Ihnen als Open Source zur Verfügung, sodass Sie ihn an Ihre Bedürfnisse anpassen können. Es kann mit anderen EC2 AMI Amazon-Betriebssystemen verwendet werden. Weitere Informationen finden Sie im CodeDeploy Agenten-Repository unter GitHub.

Unterstützte lokale Betriebssysteme

Der CodeDeploy Agent wurde auf den folgenden lokalen Betriebssystemen getestet:

  • Microsoft Windows Server 2022, 2019

  • RedHat Enterprise Linux (RHEL) 9.x, 8.x, 7.x

  • Ubuntu Server 22.04, 20.04 LTS LTS

Der CodeDeploy Agent steht Ihnen als Open Source zur Verfügung, sodass Sie ihn an Ihre Bedürfnisse anpassen können. Er kann mit anderen Betriebssystemen lokaler Instances verwendet werden. Weitere Informationen finden Sie im CodeDeploy Agenten-Repository unter GitHub.

Kommunikationsprotokoll und Port für den CodeDeploy Agenten

Der CodeDeploy Agent kommuniziert ausgehend HTTPS über Port 443.

Wenn der CodeDeploy Agent auf einer EC2 Instance ausgeführt wird, verwendet er den EC2Metadaten-Endpunkt, um instanzbezogene Informationen abzurufen. Weitere Informationen zum Einschränken und Gewähren von Service-Zugriff auf Instance-Metadaten finden Sie hier.

Versionsverlauf des CodeDeploy Agenten

Auf Ihren Instances muss eine unterstützte Version des CodeDeploy Agenten ausgeführt werden. Die derzeit unterstützte Mindestversion ist 1.7.x.

Anmerkung

Wir empfehlen, die neueste Version des Agenten zu verwenden. CodeDeploy Wenn Sie Probleme haben, aktualisieren Sie auf die neueste Version, bevor Sie sich an den AWS Support wenden. Informationen zum Upgrade finden Sie unterAktualisieren Sie den Agenten CodeDeploy .

In der folgenden Tabelle sind alle Versionen des CodeDeploy Agenten sowie die Funktionen und Verbesserungen aufgeführt, die in jeder Version enthalten sind.

Version Datum der Veröffentlichung Details

1.7.0

6. März 2024

Hinzugefügt: Eine :disable_imds_v1: Konfigurationseinstellung zur CodeDeploy Agenten-Konfigurationsdatei. Verwenden Sie diese Einstellung, um den Fallback zu deaktivieren, IMDSv1 wenn IMDSv2 Fehler auftreten. Die Standardeinstellung ist false (aktiviert den Fallback). Weitere Informationen finden Sie in der Referenz zur CodeDeploy Agentenkonfiguration.

Hinzugefügt: Support für das Betriebssystem Red Hat Enterprise Linux RHEL 9 (9).

Hinzugefügt: Support für die Ruby-Versionen 3.1 und 3.2 auf Ubuntu Server.

Behoben: Der CodeDeploy Agent generiert jetzt einen benutzerfreundlichen Fehler, wenn die CodeDeploy Agenten-Konfigurationsdatei nicht geladen werden kann.

Geändert: Ruby wurde im CodeDeploy Agenten für Windows auf 2.7.8-1 aktualisiert.

1.6.0

30. März 2023

Hinzugefügt: Support für Ruby 3.1, 3.2.

Hinzugefügt: Support für Amazon Linux 2023.

Hinzugefügt: Support für Windows Server 2022.

Geändert: Die Standardeinstellung von verbose ist jetzt false für Windows Server-Instanzen. Um weiterhin Debugmeldungen in Protokolldateien unter Windows drucken zu können, müssen Sie verbose auf true einstellen.

Entfernt: Support für Windows Server 2016 und Windows Server 2012 R2.

Entfernt: Support für Amazon Linux 2018.03.x.

1.5.0

03. März 2023

Hinzugefügt: Support für Ruby 3.

Hinzugefügt: Support für Ubuntu 22.04.

Behoben: Ein Problem, bei dem ein Neustart des CodeDeploy Agenten kurz nach dem Start dazu führte, dass der Agent hängen blieb.

Geändert: Der CodeDeploy Agent schlägt jetzt eine Host-Bereitstellung beim Start des Agenten fehl, wenn der Agent-Dienst während der Ausführung eines Hook-Skripts unerwartet neu gestartet wird. Mit diesem Fix können Sie vermeiden, das 70-minütige Timeout abzuwarten, bevor Sie erneut versuchen, eine Bereitstellung durchzuführen.

Hinweis zu veralteter Version: CodeDeploy Agent 1.5.0 ist die letzte Version, die Windows Server 2016 und Windows Server 2012 R2 unterstützt.

Entfernt: Support für den CodeDeploy Agenten auf Ubuntu 14.04LTS, Windows Server 2008 R2 und Windows Server 2008 R2 32-Bit.

1.4.1

6. Dezember 2022

Behoben: Sicherheitslücke im Zusammenhang mit der Protokollierung.

Verbesserung: Die Protokollierung beim Abfragen des Host-Befehls wurde verbessert.

1.4.0

31. August 2022

Hinzugefügt: Support für Red Hat Enterprise Linux 8.

Hinzugefügt: Support für lange Dateipfade auf dem CodeDeploy Agenten für Windows. Um lange Dateipfade zu aktivieren, müssen Sie den entsprechenden Windows-Registrierungsschlüssel festlegen und dann Ihren Agenten neu starten. Weitere Informationen finden Sie unter Lange Dateipfade führen zu der Fehlermeldung „Keine solche Datei oder kein solches Verzeichnis“.

Behoben: Ein Problem beim Entpacken, wenn die Festplatte voll war. Der CodeDeploy Agent erkennt jetzt den Exit-Code 50 des Entpackvorgangs, der auf eine volle Festplatte hinweist, entfernt teilweise entpackte Dateien und löst eine Ausnahme aus, um einen Fehler auf dem CodeDeploy Server zu melden. Die Fehlermeldung ist als Fehlermeldung im Zusammenhang mit einem Lebenszyklusereignis sichtbar, und die Bereitstellung auf Host-Ebene wird beendet, ohne dass es zu einer Unterbrechung kommt oder ein Timeout auftritt.

Behoben: Ein Problem, das zum Ausfall des Agenten führen würde.

Behoben: Ein Problem, bei dem Hooks während eines Edge-Case-Rennens ein Timeout auftraten. Hooks ohne Skripte werden jetzt fortgesetzt und verursachen keine Ausfälle oder Timeouts mehr.

Geändert: Das update Skript aus dem CodeDeploy bin Agentenverzeichnis wurde entfernt, da es nicht mehr verwendet wird.

Geändert: Der CodeDeploy Agent für Windows Server bündelt jetzt Ruby 2.7.

Geändert: Neue Umgebungsvariablen wurden hinzugefügt, die je nach Quelle des Bereitstellungspakets (Amazon S3 oder GitHub) von Hook-Skripten verwendet werden können.

Weitere Informationen finden Sie unter Verfügbarkeit von Umgebungsvariablen für Hooks.

Wichtig

Veraltungshinweis: CodeDeploy Agent 1.4.0 ist die letzte Version, die Installationsprogramme für 32-Bit-Windows Server enthalten wird.

Hinweis auf veraltete Versionen: CodeDeploy Agent 1.4.0 ist die letzte Version, die Windows Server 2008 R2 unterstützen wird.

Entfernt: Support für den CodeDeploy Agenten auf dem folgenden Amazon EC2AMIs: Amazon Linux 2014.09, 2016.03, 2016.09 und 2017.03.

1.3.2

6. Mai 2021

Wichtig

CodeDeploy Agent 1.3.2 adressiert CVE -2018-1000201, was Windows-Hosts betrifft, auf denen der Agent ausgeführt wird. Es wird Ruby-ffi CVE zitiert, was eine Abhängigkeit des Agenten ist. CodeDeploy Wenn Ihr Agent mit Amazon EC2 Systems Manager (SSM) installiert wurde und so eingestellt ist, dass er automatisch aktualisiert wird, ist keine Aktion erforderlich. Andernfalls ist eine Aktion erforderlich, um den Agenten manuell zu aktualisieren. Um den Agenten zu aktualisieren, folgen Sie den Anweisungen unter Den CodeDeploy Agenten auf Windows Server aktualisieren.

Behoben: Ein Problem bei der Installation des CodeDeploy Agenten auf Ubuntu 20.04 und höher.

Behoben: Ein zeitweiliges Problem, das beim Extrahieren komprimierter Dateien auftrat, weil relative Pfade nicht korrekt behandelt wurden.

Hinzugefügt: Support für AWS PrivateLink und VPC Endpunkte für Windows-Instanzen.

Hinzugefügt: AppSpec Dateiverbesserungen, wie unten beschrieben.

Aktualisiert: verwendet CodeDeploy jetzt das AWS SDK für Ruby 3.0.

1.3.1

22. Dezember 2020

Behoben: 1.3.0-Problem, das den Start von lokalen Instanzen verhinderte.

1.3.0

10. November 2020

Wichtig

Diese Version ist veraltet.

Behoben: Ein abgelaufenes Zertifikat, das nicht mehr verwendet wurde, wurde entfernt.

Problem behoben: Die Eingabeaufforderung wurde aus dem von verwendeten Agenten-Deinstallationsskript entfernt AWS Systems Manager, wodurch es einfacher wurde, einen Host oder eine Flotte auf eine frühere Version des Agenten herunterzustufen.

1.2.1

23. September 2020

Geändert: Die AWS SDK for Ruby Abhängigkeit wurde von Version 2 auf Version 3 aktualisiert.

Hinzugefügt: Support fürIMDSv2. Beinhaltet einen stillen Fallback für den IMDSv1 Fall, dass IMDSv2 HTTP-Anfragen fehlschlagen.

Geändert: Die Abhängigkeiten von Rake und Rubyzip für Sicherheitspatches wurden aktualisiert.

Behoben: Stellt sicher, dass eine leere PID Datei den Status zurückgibt, No CodeDeploy Agent Running und bereinigt die PID Datei beim Start des Agenten.

1.1.2

4. August 2020

Hinzugefügt: Support für Ubuntu Server 19.10 und 20.04.

Hinweis: Version 19.10 hat ihr end-of-life Datum erreicht und wird von Ubuntu oder nicht mehr unterstützt. CodeDeploy

Hinzugefügt: Verbesserungen der Speichereffizienz für Linux und Ubuntu, um reservierten Speicher zeitnaher freizugeben.

Hinzugefügt: Kompatibilität mit Windows Server „Silent-Cleanup“, was dazu führte, dass der Agent in einigen Fällen nicht reagierte.

Hinzugefügt: Ignoriere nicht leere Verzeichnisse während der Bereinigung, um Fehler bei der Bereitstellung zu vermeiden.

Hinzugefügt: Support für AWS Local Zone in Los Angeles (LA).

Hinzugefügt: Extrahieren Sie AZ aus Instanz-Metadaten, um die Kompatibilität für AWS Local Zones zu gewährleisten.

Hinzugefügt: Benutzer können ihr Archiv jetzt in Unterverzeichnissen bereitstellen und müssen es nicht mehr im Stammverzeichnis speichern.

Hinzugefügt: Es wurde ein Problem mit Rubyzip festgestellt, das zu Speicherlecks führen könnte. Der Befehl zum Entpacken wurde aktualisiert, sodass zunächst versucht wird, ein vom System installiertes Unzip-Hilfsprogramm zu verwenden, bevor Rubyzip verwendet wird.

Hinzugefügt: :enable_auth_policy: als Agentenkonfigurationseinstellung.

Geändert: Unzip-Warnungen werden jetzt ignoriert, sodass die Bereitstellungen fortgesetzt werden.

1.1.0

30. Juni 2020

Geändert: Die Versionierung des CodeDeploy Agenten folgt jetzt der Ruby-Standard-Versionskonvention.

Hinzugefügt: Neuer Parameter für den Befehl „install and update“, um die Installation einer bestimmten Agentenversion über die Befehlszeile zu ermöglichen.

Entfernt: Der Auto Updater für den CodeDeploy Agenten für Linux und Ubuntu wurde entfernt. Informationen zur Konfiguration automatischer Updates des CodeDeploy Agenten finden Sie unter Installieren des CodeDeploy Agenten mit AWS Systems Manager.

1.0.1.1597

15. November 2018

Erweiterung: CodeDeploy unterstützt Ubuntu 18.04.

Erweiterung: CodeDeploy unterstützt Ruby 2.5.

Erweiterung: CodeDeploy unterstützt FIPS Endpunkte. Weitere Informationen zu FIPS Endpunkten finden Sie in der FIPS140-2-Übersicht. Informationen zu Endpunkten, die mit verwendet werden können CodeBuild, finden Sie unter CodeDeploy Regionen und Endpunkte.

1.0.1.1518

12. Juni 2018

Verbesserung: Es wurde ein Problem behoben, das zu einem Fehler führte, wenn der CodeDeploy Agent geschlossen wurde, während er Umfrageanfragen annimmt.

Verbesserung: Es wurde eine Funktion zur Nachverfolgung von Bereitstellungen hinzugefügt, die verhindert, dass der CodeDeploy Agent geschlossen wird, wenn eine Bereitstellung ausgeführt wird.

Verbesserung: Verbesserte Leistung beim Löschen von Dateien.

1.0.1.1458

6. März 2018

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Erweiterung: Verbesserte Zertifikatvalidierungen zur Unterstützung von mehr vertrauenswürdigen Ausstellern.

Verbesserung: Es wurde ein Problem behoben, das dazu führte, dass der lokale CLI Dienst während einer Bereitstellung, die ein BeforeInstall Lebenszyklusereignis beinhaltete, fehlschlug.

Verbesserung: Es wurde ein Problem behoben, das dazu führen konnte, dass eine aktive Bereitstellung fehlschlug, wenn der CodeDeploy Agent aktualisiert wurde.

1.0.1.1352

16. November 2017

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Feature: Es wurde eine neue Funktion zum Testen und Debuggen einer EC2 /On-Premises-Bereitstellung auf einem lokalen Computer oder einer Instanz eingeführt, auf der der CodeDeploy Agent installiert ist.

1.0.1.1106

16. Mai 2017

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Funktion: Einführung neuer Unterstützung für den Umgang mit Inhalten an einem Zielort, der nicht Teil der Anwendungsrevision aus der letzten erfolgreichen Bereitstellung war. Bereitstellungsoptionen für vorhandene Inhalte umfassen jetzt das Speichern der Inhalte, das Überschreiben der Inhalte oder das Fehlschlagen der Bereitstellung.

Verbesserung: Der CodeDeploy Agent wurde mit Version 2.9.2 von (2.9.2) kompatibel gemacht. AWS SDK for Ruby aws-sdk-core

1.0.1.1095

29. März 2017

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Verbesserung: Unterstützung für den CodeDeploy Agenten in der Region China (Peking) eingeführt.

Verbesserung: Puppet kann nun auf Windows Server-Instanzen ausgeführt werden, wenn es durch einen Lifecycle-Event-Hook aufgerufen wird.

Erweiterung: Verbesserung der Handhabung von untar-Vorgängen.

1.0.1.1067 6. Januar 2017

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Erweiterung: Prüfung zahlreicher Fehlermeldungen zur Einbeziehung spezifischerer Ursachen für Bereitstellungsfehler.

Verbesserung: Es wurde ein Problem behoben, durch das der CodeDeploy Agent bei einigen Bereitstellungen nicht die richtige Anwendungsversion für die Bereitstellung identifizieren konnte.

Erweiterung: Zurücksetzung der Nutzung von pushd und popd vor und nach dem untar-Vorgang.

1.0.1.1045 21. November 2016

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Verbesserung: Der CodeDeploy Agent wurde mit Version 2.6.11 von AWS SDK for Ruby (aws-sdk-core2.6.11) kompatibel gemacht.

1.0.1.1037 19. Oktober 2016

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Der CodeDeploy Agent für Amazon Linux RHEL - und Ubuntu Server-Instances wurde mit der folgenden Änderung aktualisiert. Für Windows Server-Instances bleibt die neueste Version 1.0.1.998.

Erweiterung: Der Agent kann jetzt bestimmen, welche Version von Ruby auf einer Instance installiert ist, sodass er das codedeploy-agent-Skript mit dieser Version aufrufen kann.

1.0.1.1011.1 17. August 2016

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Erweiterung: Entfernung der Änderungen aus Version 1.0.1.1011 aufgrund von Problemen mit der Shell-Unterstützung. Diese Version des Agenten entspricht funktional Version 1.0.1.998, die am 11. Juli 2016 veröffentlicht wurde.

1.0.1.1011 15. August 2016

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Der CodeDeploy Agent für Amazon Linux RHEL - und Ubuntu Server-Instances wurde mit den folgenden Änderungen aktualisiert. Für Windows Server-Instances bleibt die neueste Version 1.0.1.998.

Feature: Unterstützung für das Aufrufen des CodeDeploy Agenten mithilfe der Bash-Shell auf Betriebssystemen hinzugefügt, auf denen das Systemd-Init-System verwendet wird.

Verbesserung: Unterstützung für alle Versionen von Ruby 2.x im Agenten und im CodeDeploy Agenten-Updater aktiviert. CodeDeploy Aktualisierte CodeDeploy Agenten sind nicht mehr nur von Ruby 2.0 abhängig. (Ruby 2.0 ist weiterhin für die Deb- und RPM-Versionen des CodeDeploy Agenten-Installationsprogramms erforderlich.)
1.0.1.998 11. Juli 2016

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Verbesserung: Die Unterstützung für die Ausführung des CodeDeploy Agenten mit anderen Benutzerprofilen als Root wurde behoben. Die Variable mit dem Namen USER wird durch CODEDEPLOY_USER ersetzt, um Konflikte mit Umgebungsvariablen zu verhindern.

1.0.1.966 16. Juni 2016

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Feature: Unterstützung für die Ausführung des CodeDeploy Agenten mit anderen Benutzerprofilen als Root eingeführt.

Verbesserung: Die Unterstützung für die Angabe der Anzahl von Anwendungsversionen, die der CodeDeploy Agent für eine Bereitstellungsgruppe archivieren soll, wurde behoben.

Verbesserung: Der CodeDeploy Agent wurde mit Version 2.3 von AWS SDK for Ruby (aws-sdk-core 2.3) kompatibel gemacht.

Verbesserung: Probleme mit der UTF -8-Kodierung bei Bereitstellungen wurden behoben.

Erweiterung: Verbesserung der Genauigkeit bei der Identifikation von Prozessnamen.

1.0.1.950 24. März 2016

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Funktion: Hinzufügung von Proxy-Support für die Installation.

Verbesserung: Das Installationsskript wurde aktualisiert, sodass der CodeDeploy Agent nicht heruntergeladen wird, wenn die neueste Version bereits installiert ist.

1.0.1.934 11. Februar 2016

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Feature: Es wurde Unterstützung für die Angabe der Anzahl von Anwendungsrevisionen eingeführt, die der CodeDeploy Agent für eine Bereitstellungsgruppe archivieren soll.

1.0.1.880 11. Januar 2016

Hinweis: Diese Version wird nicht mehr unterstützt und kann zum Fehlschlagen von Bereitstellungen führen.

Verbesserung: Der CodeDeploy Agent wurde mit Version 2.2 von AWS SDK for Ruby (aws-sdk-core 2.2) kompatibel gemacht. Version 2.1.2 wird weiterhin unterstützt.

1.0.1.854 17. November 2015

Hinweis: Diese Version wird nicht mehr unterstützt. Wenn Sie diese Version verwenden, schlagen Ihre Bereitstellungen fehl.

Feature: Unterstützung für den SHA -256-Hash-Algorithmus eingeführt.

Funktion: Einführung von Unterstützung für die Versionskontrolle in .version-Dateien.

Funktion: Herstellung der Verfügbarkeit der Bereitstellungsgruppen-ID durch Verwendung einer Umgebungsvariablen.

Verbesserung: Unterstützung für die Überwachung von CodeDeploy Agentenprotokollen mithilfe von Amazon CloudWatch Logs hinzugefügt.

Zugehörige Informationen finden Sie unter den folgenden Themen:

Eine Historie der CodeDeploy Agentenversionen finden Sie im Release-Repository unter GitHub.

Den CodeDeploy Prozess verwalten

Alle Linux-Distributionen des CodeDeploy Agenten (rpm und deb) verwenden standardmäßig systemd, um den Agentenprozess zu verwalten.

Sowohl die RPM- als auch die Deb-Distribution werden jedoch mit Startskripten ausgeliefert, die sich unter befinden. /etc/init.d/codedeploy-agent Je nachdem, welche Distribution Sie verwenden, /etc/init.d können bei der Verwendung eines Befehls wie die Skripte unter ausgeführt werdensudo service codedeploy-agent restart, um den Agentenprozess zu starten, anstatt den Prozess systemd zu verwalten. Das Ausführen von Skripten unter /etc/init.d ist unerwünscht.

Um dieses Problem zu vermeiden, empfehlen systemd wir für Systeme, die dies unterstützen, das systemctl Tool für alle Agentenoperationen zu verwenden, anstatt den service Befehl zu verwenden.

Verwenden Sie zum Beispiel, um den CodeDeploy Agenten neu zu starten, sudo systemctl restart codedeploy-agent anstelle des entsprechenden Befehls mit dem service Hilfsprogramm.

Revision der Anwendung und Bereinigung der Protokolldateien

Der CodeDeploy Agent archiviert Revisionen und Protokolldateien auf Instanzen. Der CodeDeploy Agent bereinigt diese Artefakte, um Speicherplatz zu sparen.

Protokolle zur Bereitstellung von Anwendungsrevisionen: Sie können die Option:max_revisions: in der Agenten-Konfigurationsdatei verwenden, um die Anzahl der zu archivierenden Anwendungsrevisionen durch Eingabe einer beliebigen positiven Ganzzahl anzugeben. CodeDeploy archiviert auch die Protokolldateien für diese Revisionen. Alle anderen werden gelöscht, mit Ausnahme der Protokolldatei der letzten erfolgreichen Bereitstellung. Diese Protokolldatei wird immer aufbewahrt, auch wenn die Anzahl der fehlgeschlagenen Bereitstellungen die Anzahl der aufbewahrten Revisionen überschreitet. Wenn kein Wert angegeben ist, werden die fünf neuesten Versionen zusätzlich zur aktuell bereitgestellten Version CodeDeploy beibehalten.

CodeDeploy Logs: Für Amazon Linux, Ubuntu Server und RHEL Instances rotiert der CodeDeploy Agent die Protokolldateien im /var/log/aws/codedeploy-agent Ordner. Die Protokolldatei wird jeden Tag um 00:00:00 (Instance-Zeit) rotiert. Protokolldateien werden nach sieben Tagen gelöscht. Das Benennungsmuster für rotierte Protokolldateien ist codedeploy-agent.YYYYMMDD.log.

Vom Agenten installierte Dateien CodeDeploy

Der CodeDeploy Agent speichert Revisionen, den Bereitstellungsverlauf und Bereitstellungsskripts in seinem Stammverzeichnis auf einer Instanz. Der Standardname und Speicherort für dieses Verzeichnis lauten:

'/opt/codedeploy-agent/deployment-root'für Amazon Linux, Ubuntu Server und RHEL Instances.

'C:\ProgramData\Amazon\CodeDeploy'für Windows Server-Instanzen.

Sie können die Einstellung root_dir in der CodeDeploy Agent-Konfigurationsdatei verwenden, um den Namen und den Speicherort des Verzeichnisses zu konfigurieren. Weitere Informationen finden Sie unter CodeDeploy Referenz zur Agentenkonfiguration.

Es folgt ein Beispiel für die Datei- und Verzeichnisstruktur unter dem Stammverzeichnis. Die Struktur geht davon aus, dass es N Bereitstellungsgruppen gibt und jede Bereitstellungsgruppe N Bereitstellungen enthält.

|--deployment-root/ |-- deployment group 1 ID | |-- deployment 1 ID | | |-- Contents and logs of the deployment's revision | |-- deployment 2 ID | | |-- Contents and logs of the deployment's revision | |-- deployment N ID | | |-- Contents and logs of the deployment's revision |-- deployment group 2 ID | |-- deployment 1 ID | | |-- bundle.tar | | |-- deployment-archive | | | | -- contents of the deployment's revision | | |-- logs | | | | -- scripts.log | |-- deployment 2 ID | | |-- bundle.tar | | |-- deployment-archive | | | | -- contents of the deployment's revision | | |-- logs | | | | -- scripts.log | |-- deployment N ID | | |-- bundle.tar | | |-- deployment-archive | | | | -- contents of the deployment's revision | | |-- logs | | | | -- scripts.log |-- deployment group N ID | |-- deployment 1 ID | | |-- Contents and logs of the deployment's revision | |-- deployment 2 ID | | |-- Contents and logs of the deployment's revision | |-- deployment N ID | | |-- Contents and logs of the deployment's revision |-- deployment-instructions | |-- [deployment group 1 ID]_cleanup | |-- [deployment group 2 ID]_cleanup | |-- [deployment group N ID]_cleanup | |-- [deployment group 1 ID]_install.json | |-- [deployment group 2 ID]_install.json | |-- [deployment group N ID]_install.json | |-- [deployment group 1 ID]_last_successful_install | |-- [deployment group 2 ID]_last_successful_install | |-- [deployment group N ID]_last_successful_install | |-- [deployment group 1 ID]_most_recent_install | |-- [deployment group 2 ID]_most_recent_install | |-- [deployment group N ID]_most_recent_install |-- deployment-logs | |-- codedeploy-agent-deployments.log

  • Deployment Group ID-Ordner stehen für Ihre einzelnen Bereitstellungsgruppen. Der Verzeichnisname einer Bereitstellungsgruppe ist ihre ID (z. B. acde1916-9099-7caf-fd21-012345abcdef). Jedes Verzeichnis einer Bereitstellungsgruppe enthält ein Unterverzeichnis für jede versuchte Bereitstellung in der jeweiligen Gruppe.

    Sie können den batch-get-deploymentsBefehl verwenden, um eine Bereitstellungsgruppen-ID zu finden.

  • Deployment ID-Ordner stehen für die einzelnen Bereitstellungen in einer Bereitstellungsgruppe. Jeder Verzeichnisname einer Bereitstellung ist ihre ID. Jeder Ordner enthält:

    • bundle.tar, eine komprimierte Datei mit dem Inhalt der Bereitstellungsrevision. Verwenden Sie ein ZIP-Hilfsprogramm zum Dekomprimieren, wenn Sie die Revision anzeigen möchten.

    • deployment-archive, ein Verzeichnis mit den Inhalten der Bereitstellungsrevision.

    • logs, ein Verzeichnis mit einer scripts.log-Datei. In dieser Datei wird die Ausgabe aller Skripts aufgeführt, die in der AppSpec Bereitstellungsdatei angegeben sind.

    Wenn Sie den Ordner für eine Bereitstellung suchen möchten, aber dessen Bereitstellungs- oder Bereitstellungsgruppen-ID nicht kennen, können Sie die AWS CodeDeploy Konsole oder die verwenden, AWS CLI um sie zu finden. Weitere Informationen finden Sie unter CodeDeploy Bereitstellungsdetails anzeigen .

    Die standardmäßige maximale Anzahl von Bereitstellungen, die in einer Bereitstellungsgruppe archiviert werden können, ist fünf. Wenn diese Anzahl erreicht ist, werden künftige Bereitstellungen archiviert und das älteste Archiv gelöscht. Sie können die Einstellung max_revisions in der CodeDeploy Agentenkonfigurationsdatei verwenden, um die Standardeinstellung zu ändern. Weitere Informationen finden Sie unter CodeDeploy Referenz zur Agentenkonfiguration.

    Anmerkung

    Wenn Sie den von archivierten Bereitstellungen belegten Festplattenspeicher zurückgewinnen möchten, aktualisieren Sie die Einstellung max_revisions auf eine niedrige Zahl, etwa 1 oder 2. Die nächste Bereitstellung löscht archivierte Bereitstellungen, so dass die Anzahl der von Ihnen angegebenen entspricht.

  • deployment-instructions enthält vier Textdateien für jede Bereitstellungsgruppe:

    • [Deployment Group ID]-cleanup, eine Textdatei mit einer Undo-Version jedes Befehls, der während einer Bereitstellung ausgeführt wird. Der Dateiname lautet z. B. acde1916-9099-7caf-fd21-012345abcdef-cleanup.

    • [Deployment Group ID] -install.json, eine JSON Datei, die während der letzten Bereitstellung erstellt wurde. Sie enthält die Befehle, die während der Bereitstellung ausgeführt werden. Der Dateiname lautet z. B. acde1916-9099-7caf-fd21-012345abcdef-install.json.

    • [Deployment Group ID]_last_successfull_install, eine Textdatei, die das Archivverzeichnis der letzten erfolgreichen Bereitstellung auflistet. Diese Datei wird erstellt, wenn der CodeDeploy Agent alle Dateien in der Bereitstellungsanwendung auf die Instanz kopiert hat. Sie wird vom CodeDeploy Agenten bei der nächsten Bereitstellung verwendet, um zu bestimmen, welche ApplicationStop BeforeInstall Skripte ausgeführt werden sollen. Der Dateiname lautet z. B. acde1916-9099-7caf-fd21-012345abcdef_last_successfull_install.

    • [Deployment Group ID]_most_recent_install, eine Textdatei, die den Namen des Archivverzeichnisses der letzten Bereitstellung auflistet. Diese Datei wird erstellt, wenn die Dateien in der Bereitstellung erfolgreich heruntergeladen wurden. Die [deployment group ID]_last_successfull_install-Datei wird nach dieser Datei erstellt, wenn die heruntergeladenen Dateien an das endgültige Ziel kopiert werden. Der Dateiname lautet z. B. acde1916-9099-7caf-fd21-012345abcdef_most_recent_install.

  • deployment-logs enthält die folgenden Protokolldateien:

    • codedeploy-agent.yyyymmdd.log-Dateien werden für jeden Tag erstellt, an dem eine Bereitstellung erfolgt. Jede Protokolldatei enthält Informationen zu den Bereitstellungen des jeweiligen Tages. Diese Protokolldateien können nützlich sein, um Probleme wie ein Berechtigungsproblem zu beheben. Diese Protokolldatei heißt zunächst codedeploy-agent.log. Am nächsten Tag wird das Datum der Bereitstellung in den Dateinamen eingefügt. Ist das Tagesdatum beispielsweise der 3. Januar 2018, können Sie Informationen zu allen Bereitstellungen in codedeploy-agent.log finden. Morgen, am 4. Januar 2018, wird die Protokolldatei nach codedeploy-agent.20180103.log umbenannt.

    • codedeploy-agent-deployments.log kompiliert den Inhalt der scripts.log Dateien für jede Bereitstellung. Die scripts.log-Dateien befinden sich im logs-Unterordner unter dem jeweiligen Deployment ID-Ordner. Den Einträgen in dieser Datei ist eine Deployment-ID vorangestellt. Beispiel: "[d-ABCDEF123]LifecycleEvent - BeforeInstall" kann während einer Bereitstellung mit der ID d-ABCDEF123 erscheinen. Wenn die maximale Größe codedeploy-agent-deployments.log erreicht ist, schreibt der CodeDeploy Agent weiter darauf und löscht gleichzeitig alte Inhalte.