View a markdown version of this page

Mettre à jour un pipeline de services - AWS Proton

Avis de fin de support : le 7 octobre 2026, AWS le support pour AWS Proton. Après le 7 octobre 2026, vous ne pourrez plus accéder à la AWS Proton console ni aux AWS Proton ressources. Votre infrastructure déployée restera intacte. Pour plus d'informations, consultez le Guide AWS Proton de dépréciation et de migration des services.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mettre à jour un pipeline de services

Apprenez à mettre à jour un pipeline AWS Proton de services et à annuler la mise à jour.

Un pipeline de services appartient à un service. Vous ne pouvez créer ou supprimer un pipeline que dans le contexte des actions de création et de suppression de services.

Il existe quatre modes de mise à jour d'un pipeline de services, comme décrit dans la liste suivante. Lorsque vous utilisez le AWS CLI, le deployment-type champ définit le mode. Lorsque vous utilisez la console, ces modes sont associés au pipeline de modification et à la mise à jour vers la version recommandée.

NONE

Dans ce mode, aucun déploiement n'a lieu. Seuls les paramètres de métadonnées demandés sont mis à jour.

CURRENT_VERSION

Dans ce mode, le pipeline de services est déployé et mis à jour avec les nouvelles spécifications que vous fournissez. Seuls les paramètres demandés sont mis à jour. N'incluez pas de paramètres de version mineurs ou majeurs lorsque vous l'utilisezdeployment-type.

MINOR_VERSION

Dans ce mode, le pipeline de services est déployé et mis à jour avec la version mineure publiée et recommandée (la plus récente) de la version majeure actuellement utilisée par défaut. Vous pouvez également spécifier une version mineure différente de la version majeure actuellement utilisée.

MAJOR_VERSION

Dans ce mode, le pipeline de services est déployé et mis à jour avec la version majeure et mineure publiée et recommandée (la plus récente) du modèle actuel par défaut. Vous pouvez également spécifier une version majeure différente, supérieure à la version majeure utilisée, et une version mineure (facultatif).

Vous pouvez tenter d'annuler le déploiement d'une mise à jour du pipeline de services si deploymentStatus c'est le casIN_PROGRESS. AWS Proton tente d'annuler le déploiement. La réussite de l'annulation n'est pas garantie.

Lorsque vous annulez un déploiement de mise à jour, AWS Proton tente d'annuler le déploiement comme indiqué dans les étapes suivantes.

  • Définit l'état de déploiement surCANCELLING.

  • Arrête le déploiement en cours et supprime toutes les nouvelles ressources créées lors IN_PROGRESS du déploiement.

  • Définit l'état de déploiement surCANCELLED.

  • Rétablit l'état de la ressource à ce qu'il était avant le début du déploiement.

Pour plus d'informations sur l'annulation du déploiement d'un pipeline de services, consultez CancelServicePipelineDeployment la référence de l'AWS Proton API.

Utilisez la console ou AWS CLI pour effectuer des mises à jour ou annuler des déploiements de mises à jour.

Console de gestion AWS

Mettez à jour un pipeline de services à l'aide de la console, comme décrit dans les étapes suivantes.

  1. Dans la AWS Proton console, choisissez Services.

  2. Dans la liste des services, choisissez le nom du service pour lequel vous souhaitez mettre à jour le pipeline.

  3. La page détaillée du service comporte deux onglets : Aperçu et Pipeline. Choisissez Pipeline.

  4. Si vous souhaitez mettre à jour les spécifications, choisissez Modifier le pipeline et remplissez chaque formulaire, puis choisissez Suivant jusqu'à ce que vous remplissiez le formulaire final, puis choisissez Mettre à jour le pipeline.

    Si vous souhaitez effectuer une mise à jour vers une nouvelle version et qu'une icône d'information indique qu'une nouvelle version est disponible dans Modèle de pipeline, choisissez le nom de la nouvelle version du modèle.

    1. Choisissez Mettre à jour vers la version recommandée.

    2. Remplissez chaque formulaire et cliquez sur Suivant jusqu'à ce que vous ayez terminé le formulaire final et que vous choisissiez Mettre à jour.

AWS CLI

Mettez à jour un pipeline de services vers une nouvelle version mineure, comme indiqué dans les exemples de commandes et de réponses de la CLI suivants.

Lorsque vous mettez à jour votre pipeline de services avec une valeur modifiéespec, vous pouvez l'utiliser "${Proton::CURRENT_VAL}" pour indiquer les valeurs de paramètres à conserver par rapport à l'originalspec, si ces valeurs existent dans lespec. Utilisez get-service cette option spec pour afficher l'original d'un pipeline de services, comme décrit dansAfficher les données de service.

L'exemple suivant montre comment utiliser "${Proton::CURRENT_VAL}" dans unspec.

Spécification :

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"

Commande : pour mettre à jour

$ 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"

Réponse :

{ "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" } }

Commande : pour obtenir et confirmer le statut

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

Réponse :

{ "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" } }
Console de gestion AWS

Annulez le déploiement d'un pipeline de services à l'aide de la console, comme indiqué dans les étapes suivantes.

  1. Dans la AWS Proton console, choisissez Services dans le volet de navigation.

  2. Dans la liste des services, choisissez le nom du service dont le pipeline contient la mise à jour de déploiement que vous souhaitez annuler.

  3. Sur la page détaillée du service, choisissez l'onglet Pipeline.

  4. Si l'état du déploiement de vos mises à jour est En cours, sur la page détaillée du pipeline de services, choisissez Annuler le déploiement.

  5. Un modal vous demande de confirmer l'annulation. Choisissez Annuler le déploiement.

  6. L'état de votre déploiement de mise à jour est défini sur Annulation, puis Annulé pour terminer l'annulation.

AWS CLI

Annulez une mise à jour du déploiement du pipeline de services IN_PROGRESS vers la version mineure 2, comme indiqué dans les exemples de commandes et de réponses de l'interface de ligne de commande suivants.

Une condition d'attente est incluse dans le modèle utilisé pour cet exemple afin que l'annulation commence avant la réussite du déploiement de la mise à jour.

Commande : pour annuler

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

Réponse :

{ "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" } }

Commande : pour obtenir et confirmer le statut

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

Réponse :

{ "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" } }