OS X Server - Bot kann keine Quelle aus dem Repository abrufen

8

Ich hatte eine vorherige Version von OS X Server eingerichtet und lief gut, aber als ich das Upgrade auf 3.2.1 installierte, stellte ich fest, dass keiner meiner Bots korrekt funktionieren würde. Dies sind die Probleme, die ich bei jeder versuchten Integration erhalte:

  

Build-Dienstfehler Daten können nicht in den Puffer (-1) eingefügt werden.

     

Build-Service-Warnung Die Quellcodeverwaltung ist fehlgeschlagen, weil keine Arbeitskopie gefunden werden konnte.

     

Build Service Warnung Beim Aktualisieren des vorhandenen Checkouts ist ein Fehler aufgetreten. Zurück zu einer sauberen Kasse ..

Ich suche vielleicht an der falschen Stelle, aber ich denke, die Fehler bedeuten, dass ich keine Verbindung zu meinem Git-Repository herstellen kann. Dies wurde teilweise bestätigt, als ich mein Repository von Xcode löschte und den Bot erneut startete und die gleichen Fehler bekam. (Ich habe das Repository in Xcode neu hinzugefügt und einen Check-Out durchgeführt, um es zu testen, also bin ich ziemlich sicher, dass ich alle Verbindungsdetails richtig verstanden habe.)

Mit der vorherigen Version von OS X Server war ich mir sicher, dass ich direkt vom Server aus mit dem Repository verbunden war, wie in Help > Server Tutorials > Automate Xcode builds :

erklärt
  

Schritt 3. Gewähren Sie dem xcode-Dienst Zugriff auf das git-Repository

     

Xcode-Service-Bots greifen auf Projekte und Code aus Ihrem Quell-Git-Repository zu.

     

Klicken Sie auf Repositories und dann auf die Schaltfläche Hinzufügen (+). Wählen Sie im Popup-Menü "Neues Repository" die Option Mit einem Git-Repository verbinden.

Aber in der neuesten Version, wenn Sie auf die Schaltfläche Hinzufügen klicken, erhalten Sie nur die Option, ein neues Repository zu erstellen, anstatt eine Verbindung zu einem bestehenden herzustellen. Und die Anweisungen im Internet (jetzt) ​​sagen:

  

Verbindung zu Remote-Repositorys herstellen

     

Wenn Sie Projekte in Git- oder Subversion-Repositorys auf Remote-Servern haben, können Sie Ihre Anmeldeinformationen auf Ihrem Entwicklungs-Mac in den Kontoeinstellungen in Xcode speichern. Wenn Sie dann auf die Repositorys zugreifen müssen, müssen Sie Ihre Anmeldeinformationen nicht jedes Mal erneut eingeben.

     

So fügen Sie die Anmeldeinformationen eines Remote-Repositorys einem Entwicklungs-Mac hinzu

     

Damit Xcode Server Integrationen für Ihre Projekte durchführen kann, muss es auch Zugriff auf ihre Quellcode-Repositories haben. Konfigurieren Sie Xcode Server für die Verbindung mit Ihren Remote-Repositorys.

     
  • Wählen Sie Xcode & gt; Einstellungen auf Ihrem Entwicklungs-Mac.

  •   
  • Klicken Sie in der Symbolleiste auf Konten.

  •   
  • Klicken Sie auf die Schaltfläche Hinzufügen (+) und wählen Sie Repository hinzufügen.

  •   
  • Geben Sie in das Textfeld die URL für das Repository ein (z. B. svn + ssh: //svn.example.com/ProjectName oder Ссылка ) und klicken Sie auf die Schaltfläche Weiter.

  •   
  • Geben Sie Ihren Benutzernamen und Ihr Passwort im Bereich "Repository" der Voreinstellungen für "Accounts" ein.

  •   

Das ist ein bisschen vage, aber es scheint, dass OS X Server jetzt Repositories verwendet, die in den Xcode-Einstellungen eingerichtet sind.

Wie auch immer, jetzt scheint mein OS X Server nicht auf das Repository zuzugreifen. Fehle ich hier etwas?

Danke

UPDATE:

Ich habe nach einem Monat, in dem ich vorgab, dass es nicht existierte, auf dieses Problem zurückgekommen und folgende Feststellungen getroffen:

- Das Problem tritt bei OS X Server 3.2.1, OS X Server 3.2.2 und OS X Server 4.0 auf zwei verschiedenen Computern auf.

- Das Problem tritt auf, wenn sich der Repo auf einem Server befindet, auf dem Gitblit ausgeführt wird, jedoch nicht für Remote-Bitbucket-Repos oder für ein Git-Repo, das auf einem lokalen OS X-Server gehostet wird.

- Das Problem tritt nur bei größeren Repos auf.

    
jimmyjudas 30.09.2014, 16:36
quelle

2 Antworten

3

Ich habe dieses Problem auf die denkbar komplizierteste Weise gelöst!

Wenn OS X Server eine Verbindung zum Repository herstellt, um die Quelle herunterzuladen, wird die Xcode-Bibliothek verwendet. Xcode verwendet libgit2 , um den Download durchzuführen, der ein bekannter Fehler , der den Pufferfehler verursacht hat. Es wurde in v0.21.2 behoben, aber der letzte Xcode (6.1.1) verwendet nur v0.21. In der vorherigen Xcode-Version wurde nur v0.20 verwendet. Hoffentlich wird eine zukünftige Xcode-Version v0.21.2 + verwenden. In diesem Fall sollte diese Korrektur nicht notwendig sein.

Wie auch immer, die Lösung für Xcode 6.1.1 war:

  1. Laden Sie die von Xcode verwendete Version von gitlib herunter und entzippen Sie sie von hier: Ссылка
  2. Nehmen Sie die Änderungen an src / transports / http.c wie hier beschrieben vor: Ссылка
  3. Speichern Sie die http.c-Datei
  4. Erstellen Sie Ihre bearbeitete Version von gitlib2 mit den Anweisungen hier , zB:

    • Laden Sie CMake herunter
    • Führen Sie die folgenden Befehle in Terminal aus, nachdem Sie zu Ihrem entpackten Ordner libgit2-0.21.0 navigiert haben:

      $ mkdir bauen & amp; & amp; cd build

      $ cmake ..

      $ cmake --build.

  5. Gehen Sie im Finder auf Ihrem Server in den Ordner Programme, klicken Sie mit der rechten Maustaste auf Xcode und wählen Sie "Paketinhalt anzeigen". Wechseln Sie in den Ordner "Contents / Developer / usr / lib", und benennen Sie die Datei "libgit2.dylib" in "libgit2.dylibold" oder eine ähnliche Datei um.

  6. Nimm die neu erstellte Datei 'libgit2.0.21.0.dylib' aus dem Ordner libgit2-0.21.0 / build, benenne sie in 'libgit2.dylib' um und kopiere sie in den Ordner / Applications / Xcode / Contents / Entwickler / usr / lib Ordner auf Ihrem Server.

  7. Starten Sie OS X Server neu und integrieren Sie Ihren Bot erneut von Xcode.

jimmyjudas 28.11.2014, 15:28
quelle
0

Das Remote-Repository wird hinzugefügt, wenn Sie einen Bot erstellen. Sie müssen kein Repository im OSX-Server hinzufügen.

    
Kamlesh Katariya 06.10.2014 17:43
quelle

Tags und Links