¿Qué tipo de canalización es el adecuado para mí? - AWS CodePipeline

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
  • Implementaciones estándar

  • Implementaciones con una configuración basada en el paso de variables a nivel de canalización en tiempo de ejecución

  • Implementaciones en las que las canalizaciones están configuradas para iniciarse en etiquetas de Git

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
  1. Descarga e instala python.

  2. Abra una ventana de terminal. Ejecute el siguiente comando para crear un nuevo script de Python denominado PipelineCostAnalyzer.py.

    vi PipelineCostAnalyzer.py
  3. 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)
  4. 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 esus-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.

  5. 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.