Proyectos
Al evaluar posibles soluciones para el nuevo Git Forge, consideramos
Pagure y Gitlab. Basado en un estudio de aproximadamente
Los requisitos incluían características como el envío de solicitudes push a través de HTTPS, medios para restringir el acceso a sucursales, soporte para sucursales privadas, separación del acceso para usuarios externos e internos (por ejemplo, trabajar para eliminar vulnerabilidades durante un embargo sobre la divulgación de información sobre el problema). , interfaz de familiaridad, unificación de subsistemas para trabajar con informes de problemas, código, documentación y planificación de nuevas funciones, disponibilidad de herramientas para la integración con IDE, soporte para flujos de trabajo estándar.
De las capacidades de GitLab que finalmente influyeron en la decisión de elegir esta plataforma, se mencionó el soporte para subgrupos con acceso selectivo a los repositorios, la capacidad de usar un bot para fusiones automáticas (se requiere CentOS Stream para mantener los paquetes con el kernel), la presencia de herramientas integradas para planificar el desarrollo, la capacidad de utilizar un servicio SAAS listo para usar con un nivel garantizado de disponibilidad (liberará recursos para mantener la infraestructura del servidor).
La decisión ya está
También se criticó la intención de utilizar el servicio SAAS (aplicación como servicio) proporcionado por GitLab, en lugar de implementar GitLab en sus servidores, lo que descontrola el servicio (por ejemplo, es imposible estar seguro de que todas las vulnerabilidades en el sistema se elimina rápidamente,
Mientras tanto, GitLab
Se han transferido las siguientes funciones al campo libre:
- Adjuntar problema relacionado;
- Exportar problema de GitLab a CSV;
- Un modo de planificar, organizar y visualizar el proceso de desarrollo de funcionalidades o lanzamientos individuales;
- Servicio integrado para conectar a los participantes del proyecto con terceros mediante correo electrónico.
- Terminal web para IDE web;
- Capacidad de sincronizar archivos para probar cambios en el código en la terminal web;
- Diseñe controles que le permitan cargar maquetas y activos para emitir, utilizando el problema como un único punto de acceso a todo lo que necesita para desarrollar una nueva característica;
- Informes de calidad del código;
- Soporte para administradores de paquetes Conan (C/C++), Maven (Java), NPM (node.js) y NuGet (.NET);
- Soporte para implementaciones canary, lo que le permite instalar una nueva versión de la aplicación en una pequeña parte de los sistemas;
- Distribuciones incrementales, que permiten que las nuevas versiones se entreguen solo a una pequeña cantidad de sistemas al principio, aumentando gradualmente la cobertura hasta el 100%;
- Banderas de activación de funcionalidad, que permiten entregar el proyecto en varias ediciones, activando dinámicamente ciertas características;
- Modo de descripción general de la implementación, que le permite evaluar el estado de cada entorno de integración continua basado en Kubernetes;
- Soporte para definir múltiples clústeres de Kubernetes en el configurador (por ejemplo, puede usar clústeres de Kubernetes separados para implementaciones de prueba y cargas de trabajo);
- Soporte para definir políticas de seguridad de red de contenedores que le permiten limitar el acceso entre pods de Kubernetes.
Adicionalmente, se puede señalar
Los detalles sobre la vulnerabilidad se revelarán después de 30 días.
Fuente: opennet.ru