Zusammenarbeit innerhalb von GHES-Einschränkungen
GitHub Enterprise Server-Umgebungen sind absichtlich auf die Unterstützung von Sicherheit, Compliance und Betriebskontrolle beschränkt. Wenn Sie diese Einschränkungen verstehen, können Teams ohne Frustration effektiv zusammenarbeiten.
In dieser Lektion lernen Sie
- Auswirkungen von Infrastruktureinschränkungen auf die Zusammenarbeit
- Wie sich die Automatisierung von GitHub.com unterscheidet
- Warum die Koordination mit Plattformteams wichtig ist
Infrastruktur- und Automatisierungsrealitäten
Auf GHES basiert die Automatisierung, etwa GitHub Actions, auf selbstgehosteten Runnern, die von der Organisation verwaltet werden. Diese Läufer können in Anzahl, Kapazität oder Netzwerkzugriff begrenzt sein, was sich auf die Leistung und Zuverlässigkeit des Workflows auswirken kann. Externe Abhängigkeiten erfordern möglicherweise Spiegelungen oder Proxys, und einige cloudeigene Features sind nicht verfügbar.
Diese Einschränkungen bedeuten, dass Zusammenarbeit und Automatisierung im Hinblick auf die Umgebung entworfen werden müssen, anstatt Cloudstandardwerte zu übernehmen.
Einige Unternehmen führen CI/CD außerhalb von GHES (z. B. mit internen Buildsystemen) aus und integrieren Ergebnisse als Statusprüfungen wieder in Pullanforderungen. Die Verfügbarkeit und Integration von Features kann auch je nach Konfiguration der GHES-Instanz und der vom Plattformteam genehmigten Funktionen variieren.
Arbeiten mit Plattform und DevOps Teams
In selbstverwalteten Umgebungen sind Plattform- und DevOps-Teams für die zugrunde liegende GHES-Infrastruktur verantwortlich. Entwickler sind häufig von diesen Teams abhängig, um Features zu aktivieren, Läufer zu verwalten und Infrastrukturprobleme zu beheben.
Eine effektive Zusammenarbeit umfasst das Verständnis von Plattformeinschränkungen, die frühzeitige Kommunikation von Anforderungen und die Behandlung von Plattformteams als Partner im Entwicklungsprozess und nicht als externe Dienstanbieter.
Schritt-für-Schritt: Diagnostizieren einer Fehlerhaften Überprüfung oder eines Workflows (high-level)
Wenn eine erforderliche Überprüfung fehlschlägt oder aussteht, verwenden Sie einen methodischen Ansatz, bevor sie eskaliert.
Öffnen Sie die Pullanforderung, und identifizieren Sie die fehlerhafte oder ausstehende Überprüfung.
Öffnen Sie die Überprüfungsdetails, um Protokolle, Fehlermeldungen und Zeitstempel anzuzeigen.
Ermitteln Sie den wahrscheinlichen Fehlertyp:
- Test-/Buildfehler (Code- oder Konfigurationsproblem)
- Abhängigkeits-/Netzwerkfehler (Proxy-/Spiegel-/Ausgehende Zugriffsbeschränkungen)
- Runner-Kapazitätsproblem (Jobs in der Warteschlange oder Runner offline)
Führen Sie Überprüfungen erneut aus, wenn dies nach der Korrektur der Ursache zulässig ist.
Wenn der Fehler infrastrukturbezogen angezeigt wird, erfassen Sie Folgendes:
- Der Name der fehlerhaften Überprüfung
- Ein Link zu den Ausführungsprotokollen
- Zeitstempel und Fehlermeldung
- Unabhängig davon, ob das Problem in allen Repositories auftritt oder nur in diesem.
Stellen Sie diese Informationen dem Plattform- oder DevOps-Team bereit, um die Auflösung zu beschleunigen.
Wichtige Erkenntnis: GHES-Umgebungen priorisieren Die Sicherheits- und Betriebskontrolle, sodass effektive Teams Infrastruktureinschränkungen planen und eng mit Plattformbesitzern zusammenarbeiten, um die Bereitstellung vorhersagbar zu halten.
Unter Berücksichtigung dieser Einschränkungen können Sie die Repository-, Verzweigungs-, Schutz- und Pull-Anforderungspraktiken in diesem Modul anwenden, um effizient in von Unternehmen verwalteten GHES-Umgebungen zusammenzuarbeiten.