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 |
|
|
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
-
Baixe e instale o python.
-
Abra uma janela do terminal. Execute o comando a seguir para criar um novo script python chamado PipelineCostAnalyzer.py.
vi PipelineCostAnalyzer.py
-
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)
-
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.
-
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
.