Blog
Azure Devops CI/CD-Vorlagen teamübergreifend nutzen

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 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).
In dem Repository, aus dem wir die Vorlagen extrahiert haben, müssen wir sie loswerden, damit die neue Struktur wie folgt aussieht:
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
Unsere Ideen
Weitere Blogs
Contact



