Blog

Azure Devops CI/CD-Vorlagen teamübergreifend nutzen

Kris Geusebroek

Aktualisiert Oktober 15, 2025
3 Minuten

Einführung

Wie Timo und Jeroen in ihrem Blog über die Weiterentwicklung Ihrer Azure Devops CI/CD-Einrichtung erklärt haben, ist die Verwendung von Vorlagen zur Wiederverwendung Ihrer Pipelineschritte eine gute Möglichkeit, die Entwicklung Ihrer CI/CD-Pipelines zu beschleunigen. In diesem kurzen Blog möchte ich Ihnen erklären, wie Sie Ihre Vorlagen mit anderen Teams teilen können.

Extrahieren Sie Ihre Vorlagen in ein separates Repository

Um Ihre Vorlagen mit anderen Teams teilen zu können, müssen Sie zunächst Ihre Vorlagen aus Ihrem Repo in ein spezielles Repo für Ihre Vorlagen extrahieren.

Aktuelle Situation

In der aktuellen (bald alten) Situation befinden sich die Vorlagen in einem Unterverzeichnis namens templates innerhalb desselben Repositorys, in dem sie auch verwendet werden.

Vorlagen im eigenen Repo

Vorlagen in ein separates Repository verschoben

Wenn wir die Vorlagen gemeinsam nutzen und von mehreren anderen Repositories aus verwenden möchten, ohne sie zu kopieren, müssen wir ihnen einen eigenen Ort geben, an dem sie leben können. Deshalb extrahieren wir die Vorlagen in ihr eigenes Repository. Das neue Repository wird mehrere Arten von Vorlagen enthalten. Wir trennen die Typen in verschiedene Unterverzeichnisse, so dass das neue Repository unsere Vorlagen im Unterverzeichnis templates/python enthält (siehe unten).

Vorlagen im eigenen gemeinsamen Repository

In dem Repository, aus dem wir die Vorlagen extrahiert haben, müssen wir sie loswerden, damit die neue Struktur wie folgt aussieht:

Vorlagen aus dem Repo entfernt

Ich gebe zu, dass es nicht viel Spannendes an einem entfernten Verzeichnis gibt.

Verwendung der externen Vorlagen

Um diese Vorlagen zu verwenden, müssen wir in unserer Pipeline yaml auf das Repository verweisen, das sie enthält. In diesem Blogpost zeigen wir Ihnen, wie Sie dies tun können, wenn sich beide Repositorys in derselben Organisation befinden. Es ist jedoch auch möglich, auf Vorlagen aus einer anderen Organisation zu verweisen. Dies wird in der Dokumentation sehr gut erklärt.

Um die Vorlagen in unserer Pipeline referenzieren zu können, müssen wir zunächst einen Verweis auf das Vorlagen-Repository erstellen. Dies geschieht im Abschnitt resource der Pipeline yaml.

resources:
  repositories:
    - repository: sharedDevopsPipelineTemplates # Name to reference this repository at a later step
      type: git
      name: "better-devops-pipelines-blogpost/better-devops-pipelines-blogpost-external-templates"
      ref: refs/tags/1.0.0

Die ref kann in eine beliebige Git-Referenz geändert werden, so dass Sie selbst entscheiden können, wann Sie auf eine neuere Version aktualisieren oder eine Zweigreferenz verwenden, um neue/geänderte Vorlagen zu testen, bevor sie veröffentlicht werden.

Jetzt müssen Sie nur noch den Verweis auf die Vorlage selbst aktualisieren (beachten Sie die Verwendung von @sharedDevopsPipelineTemplates, um Azure mitzuteilen, woher es die Vorlage beziehen soll).

    steps:
    - task: UsePythonVersion@0
      inputs:
        versionSpec: $(python.version)

    - script: |
        pip install .[dev]
      displayName: 'Install dependencies'

    - template: templates/python/code-quality.yml@sharedDevopsPipelineTemplates

Fazit

Das ist alles, Leute. Wir haben Ihnen gezeigt, wie Sie Ihr Azure DevOps CI/CD-Setup verbessern können, indem Sie Ihre Vorlagen extrahieren und so noch besser wiederverwenden können.

das Beispiel-Repository mit der verbesserten Pipeline ist verfügbar unter: better-devops-pipelines-blogpost - Repos Das Beispiel-Repository mit den gemeinsamen Vorlagen ist verfügbar unter: better-devops-pipelines-blogpost-external-templates - Repos

Prost

Verfasst von

Kris Geusebroek

Contact

Let’s discuss how we can support your journey.