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 basée sur le transfert de variables 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

Variables au niveau de l'action Pris en charge Pris en charge
PARALLELmode d'exécution Non pris en charge Pris en charge
Variables au niveau du pipeline Non pris en charge Pris en charge
QUEUEDmode d'exécution Non pris en charge Pris en charge
Annulation pour les étapes du pipeline Non pris en charge Pris en charge
Dérogations de révision de la source Non pris en charge Pris en charge
Conditions de scène 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 d'entrée avec le résultat Ignorer Non pris en charge Pris en charge
Configuration d'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 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 destiné à des fins de démonstration et d'évaluation uniquement. Il ne s'agit pas d'un outil de devis et ne garantit pas le coût réel de votre utilisation d'un pipeline de type V2, et il n'inclut aucune taxe qui pourrait s'appliquer. Pour plus d'informations sur la tarification CodePipeline, consultez la section Tarification.

Pour créer et exécuter un script afin de vous aider à é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 script PipelineCostAnalyzer.py.

    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, remplacez les répertoires par ceux dans lesquels vous avez créé le script d'analyse.

    À partir de ce répertoire, exécutez la commande suivante, où la région est l' Région AWS endroit où vous avez créé les pipelines V1 que vous souhaitez analyser. Vous pouvez également éventuellement évaluer un pipeline spécifique en fournissant 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 du pipeline spécifié, 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 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 indiquent 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 CodePipeline, consultez la section Tarification.