View a markdown version of this page

Quel type de pipeline me convient le mieux ? - AWS CodePipeline

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.

Quel type de pipeline me convient le mieux ?

Le type de pipeline est déterminé par l'ensemble de caractéristiques et de fonctionnalités prises en charge par chaque version de pipeline.

Voici un résumé des cas d'utilisation et des caractéristiques disponibles pour chaque type de pipeline.

Type V1 Type V2
Caractéristiques
Cas d’utilisation
  • Déploiements standard

  • Déploiements avec configuration à partir de variables transmises au niveau du pipeline lors de l'exécution

  • Déploiements dans lesquels les pipelines sont configurés pour démarrer sur des balises Git

Action-levelvariables Pris en charge Pris en charge
Mode d'exécution PARALLÈLE Non pris en charge Pris en charge
Pipeline-level variables Non pris en charge Pris en charge
Mode d'exécution QUEUED Non pris en charge Pris en charge
Annulation des étapes du pipeline Non pris en charge Pris en charge
Dérogations à la révision de la source Non pris en charge Pris en charge
Conditions de l’étape Non pris en charge Pris en charge
Déclenche et filtre les balises Git, les pull requests, les branches ou les chemins de fichiers Non pris en charge Pris en charge
L'action Commandes Non pris en charge Pris en charge
Création de conditions de saisie avec Ignorer le résultat Non pris en charge Pris en charge
Configurer une étape pour une nouvelle tentative automatique en cas d'échec Non pris en charge Pris en charge

Pour plus d'informations sur la tarification de CodePipeline, consultez la section Tarification.

Vous pouvez créer et exécuter un script Python pour vous aider à analyser le coût potentiel du déplacement d'un pipeline de type V1 vers un pipeline de type V2.

Note

L'exemple de script ci-dessous est uniquement destiné à des fins de démonstration et d'évaluation. Il ne s'agit pas d'un outil de devis et ne garantit pas le coût de votre utilisation réelle d'un pipeline de type V2, et il n'inclut pas les taxes qui pourraient s'appliquer. Pour plus d'informations sur la tarification de CodePipeline, consultez la section Tarification.

Pour créer et exécuter un script qui vous aidera à évaluer le coût du déplacement d'un pipeline de type V1 vers un pipeline de type V2
  1. Téléchargez et installez Python.

  2. Ouvrez une fenêtre du terminal. Exécutez la commande suivante pour créer un nouveau script Python nommé PipelineCostAnalyzer.py.

    vi PipelineCostAnalyzer.py
  3. Copiez et collez le code suivant dans le PipelineCostAnalyzer.py script.

    import boto3 import sys import math from datetime import datetime, timedelta, timezone if len(sys.argv) < 3: raise Exception("Please provide region name and pipeline name as arguments. Example usage: python PipelineCostAnalyzer.py us-east-1 MyPipeline") session = boto3.Session(profile_name='default', region_name=sys.argv[1]) pipeline = sys.argv[2] codepipeline = session.client('codepipeline') def analyze_cost_in_v2(pipeline_name): if codepipeline.get_pipeline(name=pipeline)['pipeline']['pipelineType'] == 'V2': raise Exception("Provided pipeline is already of type V2.") total_action_executions = 0 total_blling_action_executions = 0 total_action_execution_minutes = 0 cost = 0.0 hasNextToken = True nextToken = "" while hasNextToken: if nextToken=="": response = codepipeline.list_action_executions(pipelineName=pipeline_name) else: response = codepipeline.list_action_executions(pipelineName=pipeline_name, nextToken=nextToken) if 'nextToken' in response: nextToken = response['nextToken'] else: hasNextToken= False for action_execution in response['actionExecutionDetails']: start_time = action_execution['startTime'] end_time = action_execution['lastUpdateTime'] if (start_time < (datetime.now(timezone.utc) - timedelta(days=30))): hasNextToken= False continue total_action_executions += 1 if (action_execution['status'] in ['Succeeded', 'Failed', 'Stopped']): action_owner = action_execution['input']['actionTypeId']['owner'] action_category = action_execution['input']['actionTypeId']['category'] if (action_owner == 'Custom' or (action_owner == 'AWS' and action_category == 'Approval')): continue total_blling_action_executions += 1 action_execution_minutes = (end_time - start_time).total_seconds()/60 action_execution_cost = math.ceil(action_execution_minutes) * 0.002 total_action_execution_minutes += action_execution_minutes cost = round(cost + action_execution_cost, 2) print ("{:<40}".format('Activity in last 30 days:')) print ("| {:<40} | {:<10}".format('___________________________________', '__________________')) print ("| {:<40} | {:<10}".format('Total action executions:', total_action_executions)) print ("| {:<40} | {:<10}".format('Total billing action executions:', total_blling_action_executions)) print ("| {:<40} | {:<10}".format('Total billing action execution minutes:', round(total_action_execution_minutes, 2))) print ("| {:<40} | {:<10}".format('Cost of moving to V2 in $:', cost - 1)) analyze_cost_in_v2(pipeline)
  4. À partir du terminal ou de l'invite de commande, modifiez les répertoires dans lesquels vous avez créé le script d'analyse.

    À partir de ce répertoire, exécutez la commande suivante, où region est l' Région AWS endroit où vous avez créé les pipelines V1 que vous souhaitez analyser. Vous pouvez également évaluer éventuellement un pipeline spécifique en indiquant son nom :

    python3 PipelineCostAnalyzer.py region --pipelineName

    Par exemple, exécutez la commande suivante pour exécuter le script python nommé PipelineCostAnalyzer.py. Dans cet exemple, la région estus-west-2.

    python3 PipelineCostAnalyzer.py us-west-2
    Note

    Ce script analysera tous les pipelines V1 de la zone spécifiée, Région AWS sauf si vous spécifiez un nom de pipeline spécifique.

  5. Dans l'exemple de sortie du script suivant, nous pouvons voir la liste des exécutions d'actions, la liste des exécutions d'actions éligibles à la facturation, le temps d'exécution total de ces exécutions d'actions et le coût estimé de ces actions telles qu'elles sont effectuées dans un pipeline V2.

    Activity in last 30 days: 
     | ___________________________________      | __________________
     | Total action executions:                 | 9         
     | Total billing action executions:         | 9         
     | Total billing action execution minutes:  | 5.59      
     | Cost of moving to V2 in $:               | -0.76 

    Dans cet exemple, la valeur négative de la dernière ligne représente le montant estimé qui pourrait être économisé en passant à des pipelines de type V2.

    Note

    La sortie du script et les exemples associés qui montrent les coûts et d'autres informations ne sont que des estimations. Ils sont destinés à des fins de démonstration et d'évaluation uniquement et ne garantissent aucune économie réelle. Pour plus d'informations sur la tarification de CodePipeline, consultez la section Tarification.