Aktualisieren Sie eine Service-Pipeline - AWS Proton

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.

Aktualisieren Sie eine Service-Pipeline

Erfahren Sie, wie Sie eine AWS Proton Service-Pipeline aktualisieren und das Update abbrechen.

Eine Service-Pipeline gehört zu einem Service. Sie können eine Pipeline nur im Rahmen von Aktionen zum Erstellen und Löschen von Diensten erstellen oder löschen.

Es gibt vier Modi zum Aktualisieren einer Service-Pipeline, wie in der folgenden Liste beschrieben. Bei Verwendung von definiert das deployment-type Feld den Modus. AWS CLI Wenn Sie die Konsole verwenden, werden diese Modi der Pipeline „Bearbeiten“ und „Auf empfohlene Version aktualisieren“ zugeordnet.

NONE

In diesem Modus findet keine Bereitstellung statt. Nur die angeforderten Metadatenparameter werden aktualisiert.

CURRENT_VERSION

In diesem Modus wird die Service-Pipeline bereitgestellt und mit der neuen Spezifikation, die Sie bereitstellen, aktualisiert. Nur die angeforderten Parameter werden aktualisiert. Geben Sie keine Parameter für Neben- oder Hauptversionen an, wenn Sie dies verwendendeployment-type.

MINOR_VERSION

In diesem Modus wird die Service-Pipeline bereitgestellt und standardmäßig mit der veröffentlichten, empfohlenen (neuesten) Nebenversion der aktuell verwendeten Hauptversion aktualisiert. Sie können auch eine andere Nebenversion der aktuell verwendeten Hauptversion angeben.

MAJOR_VERSION

In diesem Modus wird die Service-Pipeline standardmäßig bereitgestellt und mit der veröffentlichten, empfohlenen (neuesten) Haupt- und Nebenversion der aktuellen Vorlage aktualisiert. Sie können auch eine andere Hauptversion angeben, die höher ist als die verwendete Hauptversion und eine Nebenversion (optional).

Sie können versuchen, die Bereitstellung eines Service Pipeline-Updates abzubrechen, falls dies der deploymentStatus Fall istIN_PROGRESS. AWS Proton versucht, die Bereitstellung abzubrechen. Eine erfolgreiche Stornierung ist nicht garantiert.

Wenn Sie eine Update-Bereitstellung stornieren, wird AWS Proton versucht, die Bereitstellung wie in den folgenden Schritten beschrieben abzubrechen.

  • Setzt den Bereitstellungsstatus aufCANCELLING.

  • Stoppt die laufende Bereitstellung und löscht alle neuen Ressourcen, die durch die Bereitstellung erstellt wurden, wannIN_PROGRESS.

  • Setzt den Bereitstellungsstatus aufCANCELLED.

  • Setzt den Zustand der Ressource auf den Zustand vor dem Start der Bereitstellung zurück.

Weitere Informationen zum Stornieren einer Service-Pipeline-Bereitstellung finden Sie CancelServicePipelineDeploymentin der AWS Proton API-Referenz.

Verwenden Sie die Konsole oder AWS CLI um Aktualisierungen vorzunehmen oder Update-Bereitstellungen abzubrechen.

AWS Management Console

Aktualisieren Sie eine Service-Pipeline mithilfe der Konsole, wie in den folgenden Schritten beschrieben.

  1. Wählen Sie in der AWS Proton Konsole Dienste aus.

  2. Wählen Sie in der Liste der Dienste den Namen des Dienstes aus, für den Sie die Pipeline aktualisieren möchten.

  3. Auf der Service-Detailseite gibt es zwei Registerkarten: Übersicht und Pipeline. Wählen Sie Pipeline.

  4. Wenn Sie die Spezifikationen aktualisieren möchten, wählen Sie Pipeline bearbeiten und füllen Sie jedes Formular aus. Wählen Sie Weiter, bis Sie das endgültige Formular ausgefüllt haben, und wählen Sie dann Pipeline aktualisieren.

    Wenn Sie auf eine neue Version aktualisieren möchten und unter Pipeline-Vorlage ein Informationssymbol angezeigt wird, das darauf hinweist, dass eine neue Version verfügbar ist, wählen Sie den Namen der neuen Vorlagenversion aus.

    1. Wählen Sie Auf empfohlene Version aktualisieren.

    2. Füllen Sie jedes Formular aus und klicken Sie auf Weiter, bis Sie das endgültige Formular ausgefüllt haben, und wählen Sie dann Aktualisieren.

AWS CLI

Aktualisieren Sie eine Service-Pipeline auf eine neue Nebenversion, wie in den folgenden CLI-Beispielbefehlen und -antworten gezeigt.

Wenn Sie Ihre Service-Pipeline mit einer geänderten Version aktualisierenspec, können Sie "${Proton::CURRENT_VAL}" damit angeben, welche Parameterwerte gegenüber dem Original beibehalten werden sollenspec, sofern die Werte in der vorhanden sindspec. get-serviceDient zum Anzeigen des Originals spec für eine Service-Pipeline, wie unter beschriebenServicedaten anzeigen.

Das folgende Beispiel zeigt, wie Sie "${Proton::CURRENT_VAL}" in a verwenden könnenspec.

Spezifikation:

proton: ServiceSpec pipeline: my_sample_pipeline_optional_input: "${Proton::CURRENT_VAL}" my_sample_pipeline_required_input: "${Proton::CURRENT_VAL}" instances: - name: "my-instance" environment: "simple-env" spec: my_sample_service_instance_optional_input: "${Proton::CURRENT_VAL}" my_sample_service_instance_required_input: "${Proton::CURRENT_VAL}" - name: "my-other-instance" environment: "simple-env" spec: my_sample_service_instance_required_input: "789"

Befehl: zum Aktualisieren

$ aws proton update-service-pipeline \ --service-name "simple-svc" \ --spec "file://service-spec.yaml" \ --template-major-version "1" \ --template-minor-version "1" \ --deployment-type "MINOR_VERSION"

Antwort:

{ "pipeline": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "createdAt": "2021-04-02T21:29:59.962000+00:00", "deploymentStatus": "IN_PROGRESS", "lastDeploymentAttemptedAt": "2021-04-02T21:39:28.991000+00:00", "lastDeploymentSucceededAt": "2021-04-02T21:29:59.962000+00:00", "spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"my-instance\"\n environment: \"MySimpleEnv\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"MySimpleEnv\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "svc-simple" } }

Befehl: um den Status abzurufen und zu bestätigen

$ aws proton get-service \ --name "simple-svc"

Antwort:

{ "service": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc", "branchName": "main", "createdAt": "2021-04-02T21:29:59.962000+00:00", "lastModifiedAt": "2021-04-02T21:30:54.364000+00:00", "name": "simple-svc", "pipeline": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline", "createdAt": "2021-04-02T21:29:59.962000+00:00", "deploymentStatus": "SUCCEEDED", "lastDeploymentAttemptedAt": "2021-04-02T21:39:28.991000+00:00", "lastDeploymentSucceededAt": "2021-04-02T21:39:28.991000+00:00", "spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"instance-one\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "svc-simple" }, "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "repositoryId": "repo-name/myorg-myapp", "spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"instance-one\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n", "status": "ACTIVE", "templateName": "svc-simple" } }
AWS Management Console

Brechen Sie eine Service-Pipeline-Bereitstellung mithilfe der Konsole ab, wie in den folgenden Schritten gezeigt.

  1. Wählen Sie in der AWS Proton Konsole im Navigationsbereich Dienste aus.

  2. Wählen Sie in der Liste der Dienste den Namen des Dienstes aus, der über die Pipeline mit dem Bereitstellungsupdate verfügt, das Sie stornieren möchten.

  3. Wählen Sie auf der Service-Detailseite die Registerkarte Pipeline aus.

  4. Wenn der Status der Aktualisierungsbereitstellung „In Bearbeitung“ lautet, wählen Sie auf der Seite mit den Servicepipeline-Details die Option Bereitstellung abbrechen aus.

  5. In einem Fenster werden Sie aufgefordert, die Stornierung zu bestätigen. Wählen Sie Bereitstellung abbrechen aus.

  6. Ihr Status für die Bereitstellung von Updates ist auf Storniert und dann auf Storniert gesetzt, um die Stornierung abzuschließen.

AWS CLI

Brechen Sie ein IN_PROGRESS-Dienst-Pipeline-Bereitstellungsupdate auf Nebenversion 2 ab, wie in den folgenden CLI-Beispielbefehlen und -antworten gezeigt.

Die für dieses Beispiel verwendete Vorlage enthält eine Wartebedingung, sodass der Abbruch beginnt, bevor die Bereitstellung des Updates erfolgreich ist.

Befehl: zum Abbrechen

$ aws proton cancel-service-pipeline-deployment \ --service-name "simple-svc"

Antwort:

{ "pipeline": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline", "createdAt": "2021-04-02T21:29:59.962000+00:00", "deploymentStatus": "CANCELLING", "lastDeploymentAttemptedAt": "2021-04-02T22:02:45.095000+00:00", "lastDeploymentSucceededAt": "2021-04-02T21:39:28.991000+00:00", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "svc-simple" } }

Befehl: um den Status abzurufen und zu bestätigen

$ aws proton get-service \ --name "simple-svc"

Antwort:

{ "service": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc", "branchName": "main", "createdAt": "2021-04-02T21:29:59.962000+00:00", "lastModifiedAt": "2021-04-02T21:30:54.364000+00:00", "name": "simple-svc", "pipeline": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline", "createdAt": "2021-04-02T21:29:59.962000+00:00", "deploymentStatus": "CANCELLED", "deploymentStatusMessage": "User initiated cancellation.", "lastDeploymentAttemptedAt": "2021-04-02T22:02:45.095000+00:00", "lastDeploymentSucceededAt": "2021-04-02T21:39:28.991000+00:00", "spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"instance-one\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "svc-simple" }, "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "repositoryId": "repo-name/myorg-myapp", "spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"instance-one\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n", "status": "ACTIVE", "templateName": "svc-simple" } }