Projekte
Bei der Bewertung möglicher Lösungen für das neue Git Forge haben wir darüber nachgedacht
Pagure und Gitlab. Basierend auf einer Studie von ca
Zu den Anforderungen gehörten Funktionen wie das Senden von Push-Anfragen über HTTPS, Möglichkeiten zur Beschränkung des Zugriffs auf Zweigstellen, Unterstützung für private Zweigstellen, Trennung des Zugriffs für externe und interne Benutzer (z. B. um an der Beseitigung von Schwachstellen während eines Embargos für die Offenlegung von Informationen über das Problem zu arbeiten). , Vertrautheitsschnittstelle, Vereinheitlichung von Subsystemen für die Arbeit mit Problemberichten, Code, Dokumentation und Planung neuer Funktionen, Verfügbarkeit von Tools für die Integration mit IDE, Unterstützung für Standard-Workflows.
Von den GitLab-Funktionen, die letztendlich die Entscheidung für diese Plattform beeinflussten, wurden die Unterstützung von Untergruppen mit selektivem Zugriff auf Repositorys, die Möglichkeit, einen Bot für automatische Zusammenführungen zu verwenden (CentOS Stream ist erforderlich, um Pakete mit dem Kernel zu verwalten), erwähnt Vorhandensein integrierter Tools für die Planungsentwicklung, die Möglichkeit, einen vorgefertigten SAAS-Dienst mit garantierter Verfügbarkeit zu nutzen (setzt Ressourcen für die Wartung der Serverinfrastruktur frei).
Die Entscheidung steht bereits
Kritisiert wurde auch die Absicht, den von GitLab bereitgestellten SAAS-Dienst (Application as a Service) zu nutzen, anstatt GitLab auf seinen Servern bereitzustellen, wodurch der Dienst außer Kontrolle gerät (es ist beispielsweise unmöglich, sicher zu sein, dass alle Schwachstellen in das System wird umgehend beseitigt,
Inzwischen GitLab
Folgende Funktionen wurden in den Freilandbereich übertragen:
- Zugehöriges Problem anhängen;
- Exportproblem von GitLab nach CSV;
- Eine Methode zum Planen, Organisieren und Visualisieren des Entwicklungsprozesses einzelner Funktionen oder Releases;
- Integrierter Dienst zur Verbindung von Projektteilnehmern mit Dritten per E-Mail.
- Webterminal für Web-IDE;
- Möglichkeit, Dateien zu synchronisieren, um Codeänderungen im Webterminal zu testen;
- Entwerfen Sie Steuerelemente, mit denen Sie Mockups und Assets zur Ausgabe hochladen können, wobei die Ausgabe als zentraler Zugriffspunkt auf alles dient, was Sie zum Entwickeln einer neuen Funktion benötigen.
- Codequalitätsberichte;
- Unterstützung für Paketmanager Conan (C/C++), Maven (Java), NPM (node.js) und NuGet (.NET);
- Unterstützung für Canary-Bereitstellungen, sodass Sie auf einem kleinen Teil der Systeme eine neue Version der Anwendung installieren können;
- Inkrementelle Verteilungen ermöglichen die Bereitstellung neuer Versionen zunächst nur für eine kleine Anzahl von Systemen und erhöhen die Abdeckung schrittweise auf 100 %.
- Funktionalitätsaktivierungsflags, die es ermöglichen, das Projekt in verschiedenen Editionen bereitzustellen und bestimmte Funktionen dynamisch zu aktivieren;
- Bereitstellungsübersichtsmodus, mit dem Sie den Status jeder auf Kubernetes basierenden kontinuierlichen Integrationsumgebung beurteilen können;
- Unterstützung für die Definition mehrerer Kubernetes-Cluster im Konfigurator (Sie können beispielsweise separate Kubernetes-Cluster für Testimplementierungen und Workloads verwenden);
- Unterstützung für die Definition von Sicherheitsrichtlinien für Containernetzwerke, mit denen Sie den Zugriff zwischen Kubernetes-Pods einschränken können.
Darüber hinaus kann darauf hingewiesen werden
Einzelheiten zur Sicherheitslücke werden nach 30 Tagen bekannt gegeben.
Source: opennet.ru