GitLab 12.2: gráficos acíclicos direccionales para la gestión de tuberías y diseño


El sorprendente lanzamiento de GitLab 12.2 ayudará a los equipos a racionalizar las tuberías, ampliar la colaboración y gestionar las interdependencias de los proyectos. Detalles a continuación.


Tuberías más rápidas y flexibles


Las canalizaciones de CI son necesarias para automatizar las tareas de ensamblaje y prueba a fin de acelerar la entrega de software y evitar errores manuales inherentes. Pero en algunos casos, la eficiencia de las tuberías GitLab CI / CD está lejos de ser ideal. GitLab 12.2 ahora admite gráficos acíclicos direccionales (DAG) para crear y administrar dependencias de tareas detalladas en lugar de depender de pasos secuenciales. Esta es una herramienta súper eficiente con la cual sus canalizaciones de CI trabajarán más rápido y de manera más productiva.


Gestión de diseño


El desarrollo de software es un deporte de equipo, y queremos que sea accesible para todos. En la versión 12.2, ofrecemos nuevas funciones para permitir a los diseñadores y la gestión del diseño en GitLab. La gestión del diseño facilitará la presentación, el control de versiones y la colaboración en artefactos de diseño para que el trabajo en equipo sea aún más efectivo con una sola fuente de verdad.


Recién estamos comenzando a trabajar en los flujos de trabajo de diseño en GitLab y estaremos encantados si contribuye a nuestra estrategia de gestión de diseño .


Marge solicitar dependencias entre proyectos


En sistemas complejos, a menudo hay varios proyectos con interdependencias entre los cambios de código, donde es importante en qué orden se aplican los cambios. GitLab ahora admite dependencias de solicitud de fusión entre proyectos para determinar las relaciones de dependencia y evitar errores asociados con la aplicación de cambios en el orden incorrecto. Cuantos menos errores, menos tendrá que rehacer y más rápido podrá implementar los cambios.


¡Y eso no es todo!


GitLab 12.2 tiene tantas funciones geniales que es simplemente imposible hablar de todas ellas. La limitación de la pertenencia a grupos por dominio , la estrategia de implementación por porcentaje y las ID de usuario para los conmutadores de funciones , la aprobación de seguridad en las solicitudes de fusión y ahora las variables de entorno con alcance se incluyen en la versión Core . Sigue leyendo y aprende más sobre cada característica.


El empleado más valioso de este mes ( MVP ) - Fabio Papa

Gracias a Fabio, ha aparecido un nuevo parámetro en GitLab 12.2 , con el que no solo los propietarios, sino también los encargados del mantenimiento pueden crear subgrupos. Fabio también hizo una valiosa contribución a los lanzamientos de GitLab 12.0 y GitLab 11.10 .

Gracias, Fabio

Características principales de GitLab 12.2


Gráficos direccionales acíclicos para tuberías GitLab


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


En una tubería simple, todas las tareas en una etapa deben completarse antes de pasar a la siguiente etapa. En muchas canalizaciones, debe realizar todas las pruebas antes de la implementación. Pero en tuberías más complejas, a veces desea que las tareas en una etapa comiencen antes de que se complete la etapa anterior. Por ejemplo, un proyecto crea aplicaciones para Android e iOS en una tubería de varias etapas. Lo más probable es que desee que la implementación de aplicaciones iOS comience inmediatamente después de pasar las pruebas para iOS, para no esperar hasta que se hayan pasado todas las pruebas para Android. El tiempo total de cálculo será el mismo y el tiempo físico será diferente. Para simplificar el trabajo en tales casos y brindarle una herramienta eficaz y flexible para definir tuberías complejas, hemos agregado las needs: palabra clave, que define la relación entre trabajos en .gitlab-ci.yml . Con la palabra clave needs , puede especificar que una tarea debe completarse después de otra. Cuando se completa la primera tarea, la tarea que depende de ella en la siguiente etapa comenzará a ejecutarse inmediatamente, sin esperar el resto de las tareas en la etapa anterior. Dentro de GitLab, implementamos esta función usando un gráfico acíclico dirigido . En esencia, cuando GitLab crea una tubería a partir de su configuración, utiliza un conjunto complejo de reglas para determinar la secuencia de tareas, y no solo comienza las tareas en una etapa solo después de completar la anterior. En primer lugar, la canalización se realiza de manera más eficiente y, en segundo lugar, en función de esto, se pueden implementar otras características avanzadas. Use la palabra clave necesidades hoy para crear tuberías, como en el ejemplo anterior, o úsela en escenarios nuevos e interesantes de mono-repositorio cuando varios servicios no relacionados se almacenan en el mismo repositorio y no deben esperar el uno al otro.



Anotaciones de diseño


PREMIUM, ULTIMATE, PLATA, ORO


Usando anotaciones de diseño, los diseñadores y desarrolladores pueden trabajar juntos en los diseños, dejando comentarios sobre varios aspectos. Al resolver los diseños de tareas en apoyo de esta colaboración, continuamos refinando las tareas como una fuente única de verdad en GitLab. Al mismo tiempo, proporcionamos un marco para comentarios y discusiones de diseño.


Recién estamos comenzando a trabajar en flujos de trabajo de diseño en GitLab y estaremos encantados si usted contribuye a nuestra estrategia .


La gestión del diseño se encuentra actualmente en la fase alfa y está sujeta a cambios en cualquier momento sin previo aviso. Para administrar el diseño, debe habilitar el almacenamiento de archivos grandes (LFS) .



Marge solicitar dependencias entre proyectos


PREMIUM, ULTIMATE, PLATA, ORO


Las compañías que lanzan varios productos relacionados a menudo usan servicios y bibliotecas comunes para no resolver el mismo problema dos veces. Por lo general, se almacenan en proyectos separados, pero en este caso es difícil coordinar los cambios entre los servicios y sus consumidores si necesita cambiar la función en varios componentes.


En GitLab 12.2, las dependencias de solicitud de fusión entre proyectos le permiten definir relaciones de dependencia para que los cambios no se apliquen en el orden incorrecto. También es conveniente observar estas relaciones en las revisiones de código, para que sea más fácil para los revisores comprender todos los cambios.



Restricciones de membresía grupal por dominio


PREMIUM, ULTIMATE, PLATA, ORO


Para las organizaciones preocupadas por la seguridad, es importante controlar el acceso a proyectos y equipos para gestionar el riesgo. En la versión 12.2, agregamos una herramienta de control de acceso adicional para administradores y propietarios de grupos. Ahora puede otorgar membresía grupal solo a usuarios con una dirección de correo electrónico en el dominio especificado.


Esto significa que en YourCompany solo los usuarios con las direcciones de yourcompany.com pueden incluirse en el grupo, y los propietarios no podrán agregar accidentalmente usuarios no autorizados.



Estrategia de implementación porcentual para conmutadores de funciones


PREMIUM, ULTIMATE, PLATA, ORO


Ahora puede seleccionar una estrategia de implementación porcentual para los cambios de características. Cuando se implementa por porcentaje, puede establecer individualmente el porcentaje para cada entorno y cada conmutador. Cuando se configura el porcentaje de implementación y se habilita el conmutador, la función se mostrará al porcentaje configurado de usuarios conectados. Esto le permite realizar implementaciones controladas y monitorear el comportamiento del entorno de destino para obtener los resultados esperados.



Estrategia de implementación de identidad de usuario para conmutadores de funciones


PREMIUM, ULTIMATE, PLATA, ORO


Ahora puede seleccionar una estrategia de implementación por ID de usuario para los cambios de características. Esta estrategia le permite especificar una lista de identificadores de usuario, separados por comas, y luego habilitar la función solo para algunos usuarios. También puede probar funciones solo en ciertos grupos o segmentos de la base de usuarios.



Marge solicita aprobación de seguridad


ULTIMO, ORO


Ahora es posible garantizar que las solicitudes de fusión que introducen nuevas vulnerabilidades no se aplicarán hasta que las personas responsables revisen y aprueben el cambio.


Por lo tanto, será más fácil para usted y sus equipos cumplir con los requisitos y las políticas, y las nuevas vulnerabilidades no podrán filtrarse accidentalmente en la base del código.



Especificar variables al iniciar una tarea manualmente


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Ahora, cuando comienza una tarea manualmente, puede redefinir o proporcionar nuevas variables que la tarea utilizará. Por lo tanto, será mucho más fácil configurar tareas personalizadas o reutilizables en tuberías, e incluso solucionar problemas.



Las variables de entorno de alcance ahora están disponibles en Core


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO *


La capacidad de limitar las variables de entorno a un área específica apareció en GitLab Premium 9.4 , y ahora está disponible para GitLab Core. Esta característica proporciona flexibilidad para configurar varias variables (por ejemplo, diferentes claves privadas para acceder a diferentes infraestructuras en entornos) y utilizar varios entornos en el ciclo de vida del desarrollo.
Abrimos el código fuente de esta función de acuerdo con nuestra división en niveles por tipo de comprador , para que todos puedan usarlo y participar en su desarrollo.



Otras mejoras en GitLab 12.2


El registro NPM ahora admite autenticación con token de acceso personal de GitLab


PREMIUM, ULTIMATE, PLATA, ORO


El Registro GitLab NPM permite a los desarrolladores de Javascript compilar, publicar y versionar paquetes NPM utilizando su instancia de GitLab. NPM requiere autenticación con OAuth, y antes de la versión 12.2, el token de acceso personal de GitLab no era compatible con OAuth. Los usuarios tenían que crear su propio token (fuera de GitLab) para usar el registro NPM, y era imposible usar la autenticación de dos factores. Esta solución no fue escalable para clientes corporativos.


Nos complace anunciar que en la versión 12.2 admitimos la autenticación con el token de acceso personal de GitLab. El token de acceso personal de GitLab funciona con autenticación de dos factores y permite a los usuarios elegir el alcance y la política de caducidad. Simplemente agregue su token de acceso personal al archivo .nprmrc e ingrese el registro de GitLab NPM para publicar y descargar paquetes.


Lista de usuarios que protagonizan un proyecto


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Para realizar un seguimiento de proyectos dignos, puede marcarlos con una estrella . Gracias a los aportes de la comunidad, ahora puede ver una lista de usuarios que han etiquetado un proyecto específico. Para hacer esto, haga clic en el número de dichos usuarios en la página del proyecto. La lista también está disponible en la API de proyectos .


Los proyectos marcados se pueden ver en el perfil del usuario .


Gracias por la contribución, Camil Staps !



Los mantenedores pueden crear subgrupos


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


En organizaciones grandes que necesitan flexibilidad, los subgrupos ayudan a mantener el orden en una instancia creciente. Los propietarios ahora pueden permitir que los mantenedores creen subgrupos. Con esta opción, los encargados del grupo podrán actuar de forma rápida e independiente, sin recurrir a los propietarios del grupo para obtener ayuda.


¡Gracias por la contribución, Fabio Papa !



Nuevas opciones de inserción para solicitudes de fusión


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


GitLab ya admite abrir solicitudes de fusión y personalizar su aplicación después de completar con éxito la canalización, y eso es todo en el equipo de Git push. Ahora aplicar pequeños cambios es rápido y fácil.


GitLab 12.2 lanzó nuevas opciones de inserción:


  • Configure la eliminación de sucursales después de la fusión.
  • Cambiar el título de la solicitud de fusión.
  • Cambiar la descripción de la solicitud de fusión.

Implementación mejorada de archivos diff


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Al ver un archivo diff, la mayoría de las líneas se ocultan sin cambios para que los cambios sean visibles de inmediato. Pero a veces necesitas más contexto.


En GitLab 12.2, los rangos de filas ocultas se pueden abrir completa o gradualmente. Anteriormente, los rangos de filas ocultas solo se podían abrir gradualmente, desde la parte inferior del rango.



Accesos directos de tareas de edición por lotes a nivel de grupo


PREMIUM, ULTIMATE, PLATA, ORO


Los usuarios pueden cambiar los accesos directos de muchas tareas simultáneamente en un proyecto. GitLab 12.2 presenta la capacidad de atajos de edición por lotes para muchas tareas a nivel de grupo para hacer que los atajos sean más fáciles de administrar.


Asignación de grupos como propietarios de código


ARRANQUE, PREMIUM, ULTIMATE, BRONCE, PLATA


A menudo no es obvio quién debe verificar los cambios. Será más fácil si asigna propietarios de código a los archivos. Después de la cita, verá a los propietarios cuando vean el archivo y los agregará automáticamente como aprobadores de las solicitudes de fusión.
En GitLab 12.2, ahora puede asignar grupos enteros a propietarios de códigos, no solo usuarios por nombre en GitLab y correo electrónico. Si asigna un grupo, los propietarios del código no se quedarán atrás en caso de cambios en el equipo, especialmente cuando se utiliza LDAP para administrar las membresías de grupo.


API de Git Blame


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Es útil saber quién modificó por última vez la línea de código y por qué, a fin de realizar cambios posteriores y comprender a quién solicitar los comentarios. Con el equipo de blame Git, esta información es fácil de encontrar.


En GitLab 12.2, la nueva API de Blame recupera esta información directamente de GitLab, y no a través del repositorio. Esto es útil para scripts y automatización basados ​​en usuarios que recientemente han cambiado un archivo.


Gracias Oleg Zubchenko por tu contribución .


Descargas de gestión de diseño


PREMIUM, ULTIMATE, PLATA, ORO


Los diseñadores y desarrolladores ahora pueden trabajar juntos en diseños dentro de la tarea GitLab gracias a la función de descarga para administrar el diseño en GitLab. Los diseños se pueden cargar en una nueva área dentro de la tarea para facilitar el seguimiento y la colaboración.



Control de versiones para diseños


PREMIUM, ULTIMATE, PLATA, ORO


En GitLab 12.2, presentamos el control de versiones para diseños. Gracias al control de versiones, puede ver fácilmente los cambios a lo largo del tiempo y realizar un seguimiento de estos cambios y progreso.



Eliminación múltiple para registro de contenedor


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Es muy importante que mantenga el orden en el registro del contenedor. Con el tiempo, las imágenes se acumulan y abarrotan el disco. Si hay demasiadas etiquetas, el tiempo de carga de la página de administración del registro de contenedores en Paquetes> Registro de contenedores se alarga, y puede ser difícil de usar.


Anteriormente, solo había unas pocas opciones de administración del registro, todas con sus propios defectos. Puede usar la API de eliminación masiva de etiquetas y la recolección de basura para automatizar la limpieza, pero para esto tenía que escribir y mantener un script. También fue posible eliminar manualmente las imágenes y etiquetas de la página de control, pero esto lleva demasiado tiempo, ya que tiene que eliminar una a la vez.


Ahora la interfaz de GitLab le permite ordenar manualmente mucho más rápido. Seleccione varias etiquetas a la vez, y si selecciona una imagen, todas las etiquetas asociadas se seleccionarán automáticamente. Mantener el registro ahora será más fácil y ahorrará en almacenamiento y mantendrá el rendimiento de la página. Nos complace presentar esta adición en el registro de contenedores y estamos preparando nuevas cosas convenientes. No se pierda futuras mejoras, como la posibilidad de personalizar las políticas de retención y las fechas de vencimiento .



Lista de tareas manuales


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Organizar una lista grande de tareas no es fácil: debe especificar la prioridad y el orden de implementación, por ejemplo, para limpiar el trabajo atrasado.


En la versión 12.2, puede ordenar la lista de tareas manualmente en modo Manual , donde puede arrastrar y soltar tareas en la lista y organizarlas en cualquier orden.


El pedido se guarda en toda la instancia para todas las listas de tareas del proyecto y las listas de tareas de los grupos donde el modo Manual está habilitado.



Espacio de nombres de Kubernetes para cada entorno


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Usar un solo clúster de Kubernetes para múltiples entornos puede ser beneficioso. Por ejemplo, si se usa un clúster para el desarrollo y la preparación, los costos administrativos se reducen, ya que solo necesita administrar un clúster. Y puede ahorrar en infraestructura: Kubernetes planificará pods de ambos entornos en menos nodos.


Anteriormente, GitLab no soportaba suficientemente tales escenarios, y todos los entornos en el proyecto se implementaron en el mismo espacio de nombres. Si necesitaba permisos diferentes para cada entorno (por ejemplo, deseaba permitir que los ingenieros se implementaran en el entorno de desarrollo, pero no la preparación), tenía que iniciar un clúster separado. La integración de GitLab Kubernetes ahora utiliza un espacio de nombres dedicado para cada entorno de proyecto, y puede ajustar los permisos para cada entorno para disfrutar plenamente de los beneficios de usar un solo clúster para múltiples entornos.


Los usuarios de Kubernetes podrán usar el mismo clúster para diferentes entornos, y no tendrán que implementar todos los entornos en el mismo espacio de nombres. Además, los operadores pueden configurar los permisos para cada entorno en detalle, para que los usuarios puedan implementar en algunos entornos, pero no en todos.


Desinstalar Cert Manager de Kubernetes GitLab Managed Applications


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Si instaló Cert Manager en un clúster de Kubernetes a través de GitLab Kubernetes, ahora puede eliminarlo con un clic en la página del clúster.


Eliminar Helm de las aplicaciones administradas de Kubernetes GitLab


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Si instaló Helm en un clúster de Kubernetes a través de GitLab Kubernetes, ahora puede eliminarlo con un clic en la página del clúster.


Eliminar Knative de Kubernetes GitLab Managed Applications


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Si instaló Knative en un clúster de Kubernetes a través de GitLab Kubernetes, ahora puede eliminarlo con un clic en la página del clúster.


Desactiva las notificaciones por correo electrónico correo para un grupo o proyecto


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Ahora los propietarios pueden desactivar las notificaciones a nivel de grupo o proyecto , independientemente de la configuración individual del usuario.
Si desactiva las notificaciones a nivel de grupo, afectará a todos los subgrupos y proyectos en el grupo principal.


Filtre proyectos por nombre al importar desde Bitbucket Server


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Importar proyectos existentes desde Bitbucket Server a GitLab debería ser simple. Pero si hay miles de tales proyectos, te atormentará elegir repositorios de Bitbucket.


En la versión 12.2, simplificamos estas migraciones y presentamos un filtro en la página de importación de Bitbucket Server, donde puede especificar los nombres de los repositorios que desea importar. Nos complace agregar este filtro a todos los importadores del proyecto en futuras versiones.



Bloquee el archivo que no permite múltiples instancias del corredor en el mismo host


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Ejecutar varias instancias de gitlab-runner en el mismo host puede generar confusión y complicar la depuración. Esto no debería ser así, por lo tanto, presentamos un archivo de bloqueo que evitará este evento aleatorio.


Ejemplos mejorados para la separación de prueba automática


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Ya tenemos la palabra clave paralela, con la que puede controlar y configurar de manera flexible las pruebas paralelas (o realizar cualquier tarea en paralelo), pero el desarrollador tiene que configurar mucho, y a veces la lógica de separación simplemente se duplica. Existen soluciones de código abierto, por ejemplo Test Boosters , que mejoran este proceso y dividen la configuración de prueba en varios archivos, automatizando esta parte de la configuración. Hemos actualizado la documentación de la palabra clave parallel para hacer que el proceso sea más obvio y mejorar la eficiencia de la tubería.


Enmascaramiento mejorado de variables para @ y: caracteres


NÚCLEO, ARRANQUE, PREMIUM, ULTIMATE, GRATIS, BRONCE, PLATA, ORO


Agregamos soporte para dos caracteres adicionales en las variables de enmascaramiento, y ahora GitLab puede ocultar automáticamente más secretos diferentes de los que tiene ahora.


Accesos directos y anotaciones para tareas que utilizan GFM en alertas de instancias externas de Prometheus


ULTIMO, ORO


Si tiene una instancia de Prometheus que se gestiona fuera de GitLab, hemos simplificado la clasificación y asignación de incidentes. Hemos agregado el campo gitlab_incident_markdown donde GitLab busca alertas. Se muestra sobre los incidentes en la sección Resumen . GFM ( GitLab Flavored Markdown ) puede agregarse a los archivos de configuración de alertas en AlertManager y usarse para asignar y marcar automáticamente tareas abiertas por alertas.


Accesos directos para tareas abiertas por alertas de incidentes de Prometheus


ULTIMO, ORO


Si configura un proyecto para abrir tareas de alerta de Prometheus, el acceso directo a incident se aplicará automáticamente. Por lo tanto, ahora el equipo de respuesta a incidentes podrá clasificarlos fácilmente en tableros de tareas y no tendrá que marcar manualmente las tareas en función de incidentes y tareas de un tipo diferente.


Prometheus métricas integradas en tareas


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


, . , , , . , , . , , , , .


, . , URL. URL , .


, . , , .



API


STARTER, PREMIUM, ULTIMATE


GitLab. GitLab.com note , . , , . API , .


CSV- Prometheus


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


GitLab . , , , . GitLab CSV-, . CSV-.




ULTIMATE, GOLD


, . , .


, , , .



GitLab Runner 12.2


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


GitLab Runner 12.2! GitLab Runner — , CI/CD GitLab.


:



GitLab Runner: CHANGELOG .


GitLab


CORE, STARTER, PREMIUM, ULTIMATE


GitLab:


  • — Kubernetes 1.11.
  • networkproxy registry .
  • gitlab-shell .
  • Postgres gitlab-migrations .

Omnibus


CORE, STARTER, PREMIUM, ULTIMATE


  • GitLab 12.2 Mattermost 5.13Slack , , DevOps .
  • GitLab 12.2 Unicorn , . CPUs + 1 int(CPUs * 1.5 +1) .
  • GitLab 12.2 Debian Buster .
  • nginx 1.16.1, TLS v1.3 ECDSA .
  • postgresql 9.6.14 10.9.
  • gitlab-monitor 4.2.0, graphicsmagick — 1.3.33.
  • , Redis KEYS . .
  • JavaScript XSS-. .


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


GitLab GitLab .


GitLab 12.2:




Kubernetes


Kubernetes 12.2. , GitLab 11.11.


: 22 2019 .


Internal () GitLab.com , .


Internal , . , , innersource .


GitLab.com . Internal, Internal Public ( ) .


30 , (Public) (Private). Internal Private . .


: 30 2019 .


Ruby 2.6


GitLab 12.2 Ruby 2.6. Omnibus GitLab GitLab Chart Ruby 2.6.3, Ruby 2.5 .


: 22 2019 .


GitLab 12.2


, Grafana, Grafana , GitLab SSO .
cookie Rails , . cookie . 12.2 , , .
GitLab 12.0 GitLab 12.1, GitLab 12.2 PostgreSQL 10.7 .
PostreSQL 10.7, /etc/gitlab/disable-postgresql-upgrade .



:




GitLab, GitLab .


Actualización


.

Source: https://habr.com/ru/post/465627/


All Articles