Freigeben über


Erstellen von Subversion-Repositorys

Azure DevOps Services

Sie können Ihren lokalen Subversion-Server in Azure Pipelines integrieren. Auf den Subversion-Server muss für Azure Pipelines zugegriffen werden können.

Hinweis

YAML-Pipelines funktionieren nicht mit Subversion-Repositorys.

Wenn Ihr Server von den gehosteten Agents aus erreichbar ist, können Sie die gehosteten Agents verwenden, um manuelle, geplante oder CI-Builds auszuführen. Andernfalls müssen Sie selbstgehostete Agents einrichten, die auf Ihren lokalen Server zugreifen und den Code abrufen können.

Um in Subversion zu integrieren, erstellen Sie eine Subversion-Dienstverbindung , und verwenden Sie diese zum Erstellen einer Pipeline. CI-Trigger arbeiten über die Abfrage. Mit anderen Worten: Azure Pipelines überprüft regelmäßig den Subversion-Server, ob Codeupdates vorhanden sind. Falls vorhanden, startet Azure Pipelines eine neue Ausführung.

Wenn der Subversion-Server von Azure Pipelines nicht erreicht werden kann, arbeiten Sie mit Ihrer IT-Abteilung zusammen, um einen Netzwerkpfad zwischen Azure Pipelines und Ihrem Server zu öffnen. Beispielsweise können Sie Ihren Firewallregeln Ausnahmen hinzufügen, um den Datenverkehr von Azure Pipelines zuzulassen. Im Abschnitt zu IP-Adressen von Azure DevOps erfahren Sie, welche IP-Adressen Sie zulassen müssen. Darüber hinaus benötigen Sie einen öffentlichen DNS-Eintrag für den Subversion-Server, damit Azure Pipelines den FQDN Ihres Servers in eine IP-Adresse auflösen kann.

Erreichbar über von Microsoft gehostete Agents

Eine Entscheidung, die Sie treffen müssen, ist, ob Sie von Microsoft gehostete Agents oder selbstgehostete Agents verwenden, um Ihre Pipelines auszuführen. Dies kommt häufig darauf an, ob von Microsoft gehostete Agents Ihren Server erreichen können. Wenn Sie überprüfen möchten, ob dies möglich ist, erstellen Sie eine einfache Pipeline, um von Microsoft gehostete Agents zu verwenden, und fügen Sie einen Schritt hinzu, um Quellcode von Ihrem Server auszuchecken. Wenn dies erfolgreich ist, können Sie weiterhin von Microsoft gehostete Agents verwenden.

Nicht erreichbar über von Microsoft gehostete Agents

Wenn die im obigen Abschnitt erwähnte einfache Testpipeline mit einem Fehler fehlschlägt, ist der Subversion-Server wahrscheinlich nicht von von Microsoft gehosteten Agents erreichbar. Dies wird wahrscheinlich durch eine Firewall verursacht, die Datenverkehr von diesen Servern blockiert. In diesem Fall haben Sie zwei Möglichkeiten:

  • Arbeiten Sie mit Ihrer IT-Abteilung zusammen, um einen Netzwerkpfad zwischen von Microsoft gehosteten Agents und dem Subversion-Server zu öffnen. Weitere Informationen finden Sie im Abschnitt zum Netzwerk in von Microsoft gehosteten Agents.

  • Steigen Sie auf die Verwendung von selbstgehosteten Agents oder Skalierungsgruppen-Agents um. Diese Agents können in Ihrem Netzwerk eingerichtet werden und haben daher Zugriff auf den Subversion-Server. Diese Agents erfordern nur ausgehende Verbindungen mit Azure Pipelines. Es ist nicht erforderlich, eine Firewall für eingehende Verbindungen zu öffnen. Stellen Sie sicher, dass der Name des Servers, den Sie beim Erstellen der Dienstverbindung angegeben haben, von den selbstgehosteten Agents aufgelöst werden kann.

IP-Adressen von Azure DevOps

Damit Datenverkehr von Azure DevOps ihren Subversion-Server erreichen kann, fügen Sie der Zulassungsliste Ihrer Firewall die IP-Adressen oder Diensttags hinzu, die in eingehenden Verbindungen angegeben sind. Wenn Sie ExpressRoute verwenden, stellen Sie sicher, dass Sie auch ExpressRoute-IP-Bereiche in die Zulassungsliste Ihrer Firewall aufnehmen.

Häufig gestellte Fragen

Probleme im Zusammenhang mit der Subversion-Serverintegration fallen in die folgenden Kategorien:

  • Fehlende Trigger: Meine Pipeline wird nicht ausgelöst, wenn ich ein Update in das Repository pushe.
  • Fehler beim Auschecken: Meine Pipeline wird ausgelöst, aber sie schlägt im Auscheckschritt fehl.

Triggerfehler

Ich habe eine Änderung an meinen Server gepusht, aber die Pipeline wird nicht ausgelöst.

Führen Sie die folgenden Schritte aus, um Fehler bei Triggern zu beheben:

  • Ist ihr Subversion-Server über Azure Pipelines zugänglich? Azure Pipelines fragt in regelmäßigen Abständen den Subversion-Server nach Änderungen ab. Wenn sich der Subversion-Server hinter einer Firewall befindet, gelangt dieser Datenverkehr möglicherweise nicht zu Ihrem Server. Lesen Sie IP-Adressen von Azure DevOps, und überprüfen Sie, ob Sie Ausnahmen für alle erforderlichen IP-Adressen vorgesehen haben. Diese IP-Adressen haben sich möglicherweise geändert, seit Sie die Ausnahmeregeln ursprünglich eingerichtet haben.

  • Ist Ihre Pipeline angehalten oder deaktiviert? Öffnen Sie den Editor für die Pipeline, und wählen Sie Einstellungen aus, um dies zu überprüfen. Wenn Ihre Pipeline angehalten oder deaktiviert ist, funktionieren Trigger nicht.

Ich habe keine Updates meines Code gepusht, aber die Pipeline wird weiterhin ausgelöst.

  • Der Continuous Integration-Trigger für Subversion funktioniert über Die Abfrage. Nach jedem Abfrageintervall versucht Azure Pipelines, den Subversion-Server zu kontaktieren, um zu überprüfen, ob der Code aktualisiert wurde. Wenn Azure Pipelines den Server nicht erreichen kann (möglicherweise aufgrund eines Netzwerkproblems), starten wir eine neue Ausführung trotzdem unter der Annahme, dass Codeänderungen aufgetreten sind. In einigen Fällen erstellt Azure Pipelines möglicherweise auch einen Dummyfehler mit einer Fehlermeldung, die darauf hinweist, dass der Server nicht erreicht werden konnte.

Fehler beim Check-Out

Der Check-Out-Schritt schlägt mit dem Fehler fehl, dass der Server nicht aufgelöst werden kann.

Verwenden Sie von Microsoft gehostete Agents? Wenn ja, können diese Agents Ihren Bitbucket-Server möglicherweise nicht erreichen. Weitere Informationen finden Sie unter Nicht erreichbar über von Microsoft gehostete Agents.