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

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

Tipe V1 Jenis V2
Karakteristik
Kasus penggunaan
  • Penerapan standar

  • Penerapan dengan konfigurasi dari melewati variabel tingkat pipeline saat runtime

  • Penerapan di mana pipeline dikonfigurasi untuk memulai pada tag Git

Variabel tingkat tindakan Didukung Didukung
PARALLELmode eksekusi Tidak didukung Didukung
Variabel tingkat pipa Tidak didukung Didukung
QUEUEDmode eksekusi Tidak didukung Didukung
Rollback untuk tahapan pipa Tidak didukung Didukung
Pengesampingan revisi sumber Tidak didukung Didukung
Kondisi panggung 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 tahapan untuk coba lagi otomatis pada kegagalan Tidak didukung Didukung

Untuk informasi tentang harga CodePipeline, lihat Harga.

Anda dapat membuat dan menjalankan skrip Python untuk membantu Anda menganalisis potensi biaya pemindahan 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 sebenarnya dari pipa tipe V2, dan itu tidak termasuk pajak apa pun yang mungkin berlaku. Untuk informasi tentang harga CodePipeline, lihat Harga.

Untuk membuat dan menjalankan skrip untuk membantu Anda mengevaluasi biaya pemindahan pipa 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 PipelineCostAnalyzerskrip.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. Dari terminal atau command prompt, ubah direktori ke tempat Anda membuat skrip analyzer.

    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 skrip 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 keluaran berikut dari skrip, 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 harga CodePipeline, lihat Harga.