View a markdown version of this page

Jenis pipa apa yang tepat untuk saya? - AWS CodePipeline

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Jenis pipa apa yang tepat untuk saya?

Jenis pipa ditentukan oleh serangkaian karakteristik dan fitur yang didukung oleh setiap versi pipeline.

Berikut ini adalah ringkasan kasus penggunaan dan karakteristik yang tersedia untuk setiap jenis pipa.

Tipe V1 Tipe V2
Karakteristik
Kasus penggunaan
  • Penerapan standar

  • Penerapan dengan konfigurasi dari meneruskan variabel tingkat pipa saat runtime

  • Penerapan di mana pipeline dikonfigurasi untuk memulai pada tag Git

Action-levelvariabel Didukung Didukung
Mode eksekusi PARALEL Tidak didukung Didukung
Pipeline-level variabel Tidak didukung Didukung
Mode eksekusi QUEUED Tidak didukung Didukung
Kembalikan untuk tahapan pipa Tidak didukung Didukung
Penggantian revisi sumber Tidak didukung Didukung
Kondisi tahap Tidak didukung Didukung
Memicu dan memfilter tag Git, permintaan tarik, cabang, atau jalur file Tidak didukung Didukung
Tindakan Perintah Tidak didukung Didukung
Membuat kondisi Entri dengan hasil Lewati Tidak didukung Didukung
Konfigurasikan tahap untuk coba ulang otomatis pada kegagalan Tidak didukung Didukung

Untuk informasi tentang penetapan harga untuk CodePipeline, lihat Harga.

Anda dapat membuat dan menjalankan skrip Python untuk membantu Anda menganalisis biaya potensial memindahkan pipeline tipe V1 ke pipeline tipe V2.

catatan

Contoh skrip di bawah ini dimaksudkan untuk tujuan demonstrasi dan evaluasi saja. Ini bukan alat penawaran dan tidak menjamin biaya untuk penggunaan pipa tipe V2 Anda yang sebenarnya, dan tidak termasuk pajak apa pun yang mungkin berlaku. Untuk informasi tentang penetapan harga untuk CodePipeline, lihat Harga.

Untuk membuat dan menjalankan skrip untuk membantu Anda mengevaluasi biaya memindahkan pipeline tipe V1 ke pipeline tipe V2
  1. Unduh dan instal python.

  2. Buka jendela terminal. Jalankan perintah berikut untuk membuat skrip python baru bernama PipelineCostAnalyzer.py.

    vi PipelineCostAnalyzer.py
  3. Salin dan tempel kode berikut ke dalam PipelineCostAnalyzer.py skrip.

    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. Dari terminal atau command prompt, ubah direktori ke tempat Anda membuat skrip penganalisis.

    Dari direktori itu, jalankan perintah berikut, di mana wilayah adalah Wilayah AWS tempat Anda membuat pipeline V1 yang ingin Anda analisis. Anda juga dapat mengevaluasi pipeline tertentu secara opsional dengan memberikan namanya:

    python3 PipelineCostAnalyzer.py region --pipelineName

    Misalnya, jalankan perintah berikut untuk menjalankan script python bernama PipelineCostAnalyzer.py. Dalam contoh ini, Wilayah adalahus-west-2.

    python3 PipelineCostAnalyzer.py us-west-2
    catatan

    Skrip ini akan menganalisis semua pipeline V1 dalam yang ditentukan Wilayah AWS kecuali Anda menentukan nama pipeline tertentu.

  5. Dalam contoh output dari skrip berikut, kita dapat melihat daftar eksekusi tindakan, daftar eksekusi tindakan yang memenuhi syarat untuk penagihan, total runtime eksekusi tindakan ini, dan perkiraan biaya tindakan ini seperti yang dilakukan dalam 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 

    Dalam contoh ini, nilai negatif di baris terakhir mewakili perkiraan jumlah yang mungkin disimpan dengan pindah ke pipeline tipe V2.

    catatan

    Output skrip dan contoh terkait yang menunjukkan biaya dan informasi lainnya hanya perkiraan. Mereka dimaksudkan untuk tujuan demonstrasi dan evaluasi saja dan tidak menjamin penghematan aktual. Untuk informasi tentang penetapan harga untuk CodePipeline, lihat Harga.