Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
¿Qué tipo de canalización es el adecuado para mí?
El tipo de canalización viene determinado por el conjunto de características y funciones compatibles con cada versión de canalización.
A continuación se presenta un resumen de los casos de uso y las características de que están disponibles para cada tipo de canalización.
Tipo V1 | Tipo V1 | |
---|---|---|
Características | ||
Casos de uso |
|
|
Variables de nivel de acción | Soportado | Soportado |
PARALLELmodo de ejecución | No compatible | Compatible |
Variables a nivel de canalización | No compatible | Compatible |
QUEUEDmodo de ejecución | No compatible | Compatible |
Reversión de las etapas de la canalización | No compatible | Compatible |
La revisión de la fuente anula | No compatible | Compatible |
Condiciones del escenario | No compatible | Compatible |
Activa y filtra etiquetas de Git, solicitudes de cambios, ramas o rutas de archivos | No compatible | Compatible |
La acción de los comandos | No compatible | Compatible |
Crear condiciones de entrada con Skip result | No compatible | Compatible |
Configure una etapa para el reintento automático en caso de error | No compatible | Compatible |
Para obtener información sobre los precios de CodePipeline, consulte Precios
Puede crear y ejecutar un script de Python que le ayude a analizar el costo potencial de mover una canalización de tipo V1 a una canalización de tipo V2.
nota
El siguiente script de ejemplo está destinado únicamente a fines de demostración y evaluación. No se trata de una herramienta de cotización y no garantiza el coste del uso real de un gasoducto tipo V2, ni incluye los impuestos que puedan aplicarse. Para obtener información sobre los precios de CodePipeline, consulta los precios
Para crear y ejecutar un script que le ayude a evaluar el costo de mover una canalización de tipo V1 a una canalización de tipo V2
-
Descarga e instala python.
-
Abra una ventana de terminal. Ejecute el siguiente comando para crear un nuevo script de Python denominado PipelineCostAnalyzer.py.
vi PipelineCostAnalyzer.py
-
Copia y pega el siguiente código en el 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)
-
Desde la terminal o la línea de comandos, cambie los directorios a los que creó el script del analizador.
Desde ese directorio, ejecute el siguiente comando, donde region es Región de AWS donde creó las canalizaciones V1 que desea analizar. Si lo desea, también puede evaluar una canalización específica proporcionando su nombre:
python3 PipelineCostAnalyzer.py
region
--pipelineName
Por ejemplo, ejecuta el siguiente comando para ejecutar el script de Python denominado PipelineCostAnalyzer.py. En este ejemplo, la región es
us-west-2
.python3 PipelineCostAnalyzer.py us-west-2
nota
Este script analizará todas las canalizaciones V1 de las canalizaciones especificadas, Región de AWS a menos que especifique un nombre de canalización específico.
-
En el siguiente ejemplo de resultado del script, podemos ver la lista de ejecuciones de acciones, la lista de ejecuciones de acciones que podían facturarse, el tiempo de ejecución total de estas ejecuciones de acciones y el coste estimado de estas acciones, tal como se realizaban en una canalización de la versión 2.
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
En este ejemplo, el valor negativo de la última fila representa la cantidad estimada que se podría ahorrar si se pasara a canalizaciones de tipo V2.
nota
El resultado del script y los ejemplos relacionados que muestran los costes y otra información son únicamente estimaciones. Están destinados únicamente a fines de demostración y evaluación y no garantizan ningún ahorro real. Para obtener información sobre los precios CodePipeline, consulte Precios
.