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 |
|
|
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
-
Unduh dan instal python.
-
Buka jendela terminal. Jalankan perintah berikut untuk membuat skrip python baru bernama PipelineCostAnalyzer.py.
vi PipelineCostAnalyzer.py
-
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)
-
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 adalah
us-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.
-
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
.