View a markdown version of this page

Welcher Pipeline-Typ ist der richtige für mich? - AWS CodePipeline

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Welcher Pipeline-Typ ist der richtige für mich?

Der Pipeline-Typ wird durch die Eigenschaften und Funktionen bestimmt, die von jeder Pipeline-Version unterstützt werden.

Im Folgenden finden Sie eine Zusammenfassung der Anwendungsfälle und Merkmale, die für jeden Pipeline-Typ verfügbar sind.

Typ V1 Typ V2
Merkmale
Anwendungsfälle
  • Standardbereitstellungen

  • Bereitstellungen, bei denen die Konfiguration durch die Übergabe von Variablen auf Pipeline-Ebene zur Laufzeit erfolgt

  • Bereitstellungen, bei denen Pipelines so konfiguriert sind, dass sie mit Git-Tags beginnen

Action-levelVariablen Unterstützt Unterstützt
PARALLELER Ausführungsmodus Nicht unterstützt Unterstützt
Pipeline-level Variablen Nicht unterstützt Unterstützt
AUSFÜHRUNGSMODUS IN DER WARTESCHLANGE Nicht unterstützt Unterstützt
Rollback für Pipeline-Phasen Nicht unterstützt Unterstützt
Überschreibungen der Quellversion Nicht unterstützt Unterstützt
Stufenbedingungen Nicht unterstützt Unterstützt
Triggert und filtert Git-Tags, Pull-Requests, Branches oder Dateipfade Nicht unterstützt Unterstützt
Die Aktion „Befehle“ Nicht unterstützt Unterstützt
Eingabebedingungen mit dem Befehl Ergebnis überspringen erstellen Nicht unterstützt Unterstützt
Konfigurieren Sie eine Phase für die automatische Wiederholung bei einem Fehler Nicht unterstützt Unterstützt

Informationen zur Preisgestaltung für finden Sie CodePipeline unter Preisgestaltung.

Sie können ein Python-Skript erstellen und ausführen, um die potenziellen Kosten für die Umstellung einer Pipeline vom Typ V1 auf eine Pipeline vom Typ V2 zu analysieren.

Anmerkung

Das folgende Beispielskript dient nur zu Demonstrations- und Evaluierungszwecken. Es ist kein Angebotstool und garantiert nicht die Kosten für Ihre tatsächliche Nutzung einer Pipeline vom Typ V2, und es beinhaltet keine eventuell anfallenden Steuern. Informationen zur Preisgestaltung für finden Sie CodePipeline unter Preisgestaltung.

Um ein Skript zu erstellen und auszuführen, das Ihnen bei der Bewertung der Kosten für die Umstellung einer Pipeline vom Typ V1 auf eine Pipeline vom Typ V2 hilft
  1. Laden Sie Python herunter und installieren Sie es.

  2. Öffnen Sie ein Terminal-Fenster. Führen Sie den folgenden Befehl aus, um ein neues Python-Skript mit dem Namen zu erstellen PipelineCostAnalyzer.py.

    vi PipelineCostAnalyzer.py
  3. Kopieren Sie den folgenden Code und fügen Sie ihn in das PipelineCostAnalyzer.py Skript ein.

    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. Wechseln Sie vom Terminal oder der Befehlszeile aus in das Verzeichnis, in dem Sie das Analyzer-Skript erstellt haben.

    Führen Sie in diesem Verzeichnis den folgenden Befehl aus, wobei Region der Ort ist, an AWS-Region dem Sie die V1-Pipelines erstellt haben, die Sie analysieren möchten. Sie können optional auch eine bestimmte Pipeline evaluieren, indem Sie ihren Namen angeben:

    python3 PipelineCostAnalyzer.py region --pipelineName

    Führen Sie beispielsweise den folgenden Befehl aus, um das Python-Skript mit dem Namen auszuführen PipelineCostAnalyzer.py. In diesem Beispiel ist die Regionus-west-2.

    python3 PipelineCostAnalyzer.py us-west-2
    Anmerkung

    Dieses Skript analysiert alle V1-Pipelines in der angegebenen Region, AWS-Region sofern Sie keinen bestimmten Pipeline-Namen angeben.

  5. In der folgenden Beispielausgabe des Skripts sehen wir die Liste der Aktionsausführungen, die Liste der Aktionsausführungen, die für die Abrechnung in Frage kamen, die Gesamtlaufzeit dieser Aktionsausführungen und die geschätzten Kosten dieser Aktionen, wie sie in einer V2-Pipeline ausgeführt wurden.

    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 

    In diesem Beispiel steht der negative Wert in der letzten Zeile für den geschätzten Betrag, der durch die Umstellung auf Pipelines vom Typ V2 eingespart werden könnte.

    Anmerkung

    Bei der Skriptausgabe und den zugehörigen Beispielen, die Kosten und andere Informationen zeigen, handelt es sich lediglich um Schätzungen. Sie dienen nur zu Demonstrations- und Bewertungszwecken und garantieren keine tatsächlichen Einsparungen. Informationen zur Preisgestaltung für finden Sie CodePipeline unter Preisgestaltung.