Que tipo de pipeline é ideal para mim? - AWS CodePipeline

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Que tipo de pipeline é ideal para mim?

O tipo de pipeline é determinado pelo conjunto de características e recursos compatíveis com cada versão do pipeline.

Veja um resumo dos casos de uso e características disponíveis para cada tipo de pipeline.

Tipo V1 Tipo V2
Características
Casos de uso
  • Implantações padrão

  • Implantações com configuração a partir da transmissão de variáveis em nível de pipeline em runtime

  • Implantações em que os pipelines são configurados para iniciar com tags do Git

Variáveis de nível de ação Compatível Compatível
PARALLELmodo de execução Não compatível Compatível
Variáveis em nível de pipeline Não compatível Compatível
QUEUEDmodo de execução Não compatível Compatível
Reversão para estágios do pipeline Não compatível Compatível
Substituições da revisão do código-fonte Não compatível Compatível
Condições do palco Não compatível Compatível
Acionadores e filtragem de tags Git, pull requests, ramificações ou caminhos de arquivo Não compatível Compatível
A ação Commands Não compatível Compatível
Criando condições de entrada com Skip result Não compatível Compatível
Configurar um estágio para repetição automática em caso de falha Não compatível Compatível

Para obter informações sobre preços de CodePipeline, consulte Preços.

Você pode criar e executar um script Python para ajudá-lo a analisar o custo potencial de mover um pipeline do tipo V1 para um pipeline do tipo V2.

nota

O exemplo de script abaixo é destinado apenas para fins de demonstração e avaliação. Não é uma ferramenta de cotação e não garante o custo do uso real de um pipeline do tipo V2, além de não incluir impostos que possam ser aplicados. Para obter informações sobre preços de CodePipeline, consulte Preços.

Para criar e executar um script para ajudá-lo a avaliar o custo de mover um pipeline do tipo V1 para um pipeline do tipo V2
  1. Baixe e instale o python.

  2. Abra uma janela do terminal. Execute o comando a seguir para criar um novo script python chamado PipelineCostAnalyzer.py.

    vi PipelineCostAnalyzer.py
  3. Copie e cole o código a seguir no PipelineCostAnalyzerscript.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. No terminal ou no prompt de comando, altere os diretórios para onde você criou o script do analisador.

    Nesse diretório, execute o comando a seguir, em que region é Região da AWS onde você criou os pipelines V1 que você deseja analisar. Opcionalmente, você também pode avaliar um pipeline específico fornecendo seu nome:

    python3 PipelineCostAnalyzer.py region --pipelineName

    Por exemplo, execute o comando a seguir para executar o script python chamado PipelineCostAnalyzer.py. Neste exemplo, a região éus-west-2.

    python3 PipelineCostAnalyzer.py us-west-2
    nota

    Esse script analisará todos os pipelines V1 no especificado, a Região da AWS menos que você especifique um nome específico do pipeline.

  5. No exemplo de saída do script a seguir, podemos ver a lista de execuções de ações, a lista de execuções de ações que estavam qualificadas para cobrança, o tempo de execução total dessas execuções de ações e o custo estimado dessas ações executadas em um 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 

    Neste exemplo, o valor negativo na última linha representa o valor estimado que pode ser economizado ao migrar para pipelines do tipo V2.

    nota

    A saída do script e os exemplos relacionados que mostram custos e outras informações são apenas estimativas. Eles são destinados apenas para fins de demonstração e avaliação e não garantem nenhuma economia real. Para obter informações sobre preços de CodePipeline, consulte Preços.