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 |
|
|
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
-
Téléchargez et installez Python.
-
Ouvrez une fenêtre du terminal. Exécutez la commande suivante pour créer un nouveau script python nommé PipelineCostAnalyzer.py.
vi PipelineCostAnalyzer.py
-
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)
-
À 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 est
us-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.
-
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
.