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 |
|
|
| 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
-
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 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) -
À 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.pyregion--pipelineNamePar 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-2Note
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.
-
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
.