Nueva versión significativa disponible , una plataforma para la gestión del ciclo completo de desarrollo de software, que ofrece un conjunto completo de herramientas para desarrollar proyectos de acuerdo con la paradigma DevOps. En términos de sus capacidades, OneDev se asemeja a GitLab y también permite desplegar en sus infraestructuras un entorno de desarrollo colaborativo, revisión, pruebas, compilación y entrega de versiones, sin depender de servicios en la nube externos como GitHub. El código del proyecto está escrito en Java y bajo licencia MIT.
Algunas características:
- Proceso de despliegue simplificado de una granja de compilación para ejecutar compilaciones CI en Kubernetes, sin necesidad de ejecutar agentes y runners. Posibilidad de pruebas en contenedores con Linux y Windows;
- Soporte para la creación de especificaciones de compilación (Build Spec) de manera visual sin necesidad de escribir archivos YAML y recordar la sintaxis;
- Posibilidad de configuración flexible del proceso de construcción utilizando parámetros de compilación condicionales, ejecución paralela de múltiples trabajos de construcción y activación automática de trabajos al ocurrir ciertos eventos;
- Soporte para definir estados y campos personalizados para notificaciones de problemas (issue), posibilidad de definir dependencias entre campos y cambio automático de estado al ocurrir ciertos eventos;
- Interfaz de issue actualizable automáticamente, sin necesidad de recargar la página;
- Sistema de búsqueda y navegación por código y cambios, teniendo en cuenta las características de la sintaxis de Java, JavaScript, C, C++, CSharp, Go, PHP, Python, CSS, SCSS, LESS y R;
- Soporte para vincular discusiones y comentarios externos al código y bloques de cambios (diff);
- Reglas flexibles para la revisión de solicitudes de extracción con la posibilidad de proteger ciertas ramas y asignar desarrolladores para la revisión;
- Modo de análisis por fases de los commits al revisar solicitudes de extracción. Vínculo a discusiones de revisiones anteriores;
- Lenguaje de consulta que permite encontrar la información deseada en proyectos, commits, compilaciones, issues, solicitudes de extracción y comentarios. Posibilidad de guardar la consulta y recibir notificaciones sobre la aparición de nuevos eventos relacionados;
- Sistema de control de acceso que permite determinar quién puede modificar el código en un subtipo específico, asignar problemas, iniciar compilaciones de versiones, consultar registros, etc.
- Opciones para la creación y clonación de repositorios;
- Suscripción para recibir notificaciones sobre commits en la rama master;
- Soporte para solicitudes de extracción con automatización de verificación de commits recibidos en el sistema de integración continua y aprobación por parte de un consejo de expertos que incluye al menos dos desarrolladores;
- Posibilidad de cerrar problemas a través de un mensaje de commit que puede vincular la discusión, el commit, las compilaciones y las solicitudes de extracción;
- Capacidad para crear formularios guardados en la interfaz que muestran qué usuarios han sido asignados para resolver problemas (issues);
- Soporte para la creación de campos personalizados para vincular issues a módulos y plataformas específicos;
- Posibilidad de cambiar automáticamente el estado de un problema a Deployed cuando se corrige durante la compilación y a Review al abrir una solicitud de extracción;
- Capacidad para asignar a un problema el estado Verified, que pueden otorgar desarrolladores con estatus de tester;
- Soporte para iniciar manualmente una recompilación con la opción de indicar la versión que se asignará y crear una etiqueta correspondiente en caso de éxito de la compilación;
- Posibilidad de elegir la plataforma y la versión del núcleo de Linux al iniciar una recompilación manual;
- Soporte para pruebas en CI de diversas combinaciones de Oracle/MySQL y Linux/Windows al hacer commit en la rama master;
- Creación automática de notificaciones sobre problemas (issues) y asignación de un responsable para investigar el problema en caso de un fallo en la compilación de la rama master en CI. Cierre automático de issues al solucionar el fallo en la compilación.
- Posibilidad de generar archivos en un trabajo, su procesamiento paralelo en otro y analizar los resultados en un tercero;
- Soporte para reiniciar trabajos en caso de error al iniciar el procesador en Kubernetes;
- Posibilidad de utilizar el servicio MySQL durante la ejecución de trabajos;
- Soporte para establecer la clave secreta al determinar la especificación de compilación;
- Posibilidad de restringir el acceso de usuarios anónimos solo a las versiones de ciertos proyectos;
- Soporte para restringir la generación de versiones solo a la rama master y desplegar en servidores de trabajo solo versiones compiladas desde la rama master.
Fuente: opennet.ru
