ProHoster > Bloc > Administració > # GitLab 13.4 llançat amb el dipòsit HashiCorp per a variables CI i l'agent Kubernetes
# GitLab 13.4 llançat amb el dipòsit HashiCorp per a variables CI i l'agent Kubernetes
La versió 13.4 s'ha llançat amb emmagatzematge HashiCorp per a variables CI, agent Kubernetes i centre de seguretat, així com funcions commutables a Starter
A GitLab, sempre estem pensant en com podem ajudar els usuaris a reduir el risc, millorar l'eficiència i millorar la velocitat de lliurament a la vostra plataforma preferida. Aquest mes hem afegit moltes funcions noves útils que amplien les capacitats de seguretat, redueixen el nombre de vulnerabilitats, augmenten l'eficiència, simplifiquen el treball amb GitLab i ajuden el vostre equip a oferir funcions encara més ràpidament. Esperem que les característiques principals de la versió us siguin útils, així com 53 altres novetats, afegit en aquesta publicació.
Una altra manera de reduir els riscos és utilitzar nous Agent de GitLab Kubernetes. Els equips d'operacions poden desplegar clústers de Kubernetes des de GitLab sense haver d'exposar el seu clúster a tot Internet. També estem introduint el suport automàtic de control de versions per als nous fitxers d'estat de Terraform amb GitLab va gestionar l'estat de Terraform per donar suport al compliment i la facilitat de depuració. Finalment, es va convertir en el tauler de seguretat de la instància Centre de seguretat GitLab amb informes de vulnerabilitat i configuració de seguretat.
Fabio va contribuir de manera important contribució в mostrant la cobertura del codi a les diferències de sol·licitud de combinació - una característica que s'esperava des de fa molt de temps a la comunitat GitLab. Aquesta és una contribució realment important amb canvis no trivials que van requerir una col·laboració constant amb els membres de l'equip de GitLab i van afectar moltes àrees del projecte com ara UX, front-end i back-end.
Característiques principals de la versió de GitLab 13.4
Utilitzeu les claus HashiCorp Vault a les feines de CI
A la versió 12.10, GitLab va introduir la possibilitat de rebre i transferir claus a treballs de CI mitjançant el gestor de treballs de GitLab (GitLab Runner). Ara estem ampliant autenticació mitjançant JWT, afegint una nova sintaxi secrets arxivar .gitlab-ci.yml. Això farà que sigui més fàcil configurar i utilitzar el dipòsit HashiCorp amb GitLab.
La integració de GitLab amb Kubernetes fa temps que ha permès desplegar-se als clústers de Kubernetes sense necessitat de configuració manual. A molts usuaris els va agradar la facilitat d'ús d'aquest paquet, mentre que altres van trobar algunes dificultats. Per a la integració actual, el vostre clúster ha de ser accessible des d'Internet perquè GitLab hi pugui accedir. Per a moltes organitzacions, això no és possible perquè restringeixen l'accés als clústers per motius de seguretat, compliment o reglaments. Per evitar aquestes restriccions, els usuaris havien de crear les seves eines a sobre de GitLab, en cas contrari no podrien utilitzar aquesta funció.
Avui presentem el GitLab Kubernetes Agent, una nova manera de desplegar-se als clústers de Kubernetes. L'agent s'executa dins del vostre clúster, de manera que no cal que l'exposeu a tot Internet. L'agent coordina el desplegament sol·licitant nous canvis a GitLab, en lloc de GitLab enviar actualitzacions al clúster. Independentment del mètode GitOps que utilitzeu, GitLab us té cobert.
Tingueu en compte que aquest és el primer llançament de l'agent. El nostre enfocament actual per a GitLab Kubernetes Agent és configurar i gestionar els desplegaments mitjançant codi. Algunes funcions d'integració de Kubernetes existents, com ara taulers de desplegament i aplicacions gestionades GitLab, encara no són compatibles. Suposemque aquestes capacitats s'afegiran a l'agent en futures versions, així com noves integracions centrades en la seguretat i el compliment.
Anteriorment, el sistema de permisos de GitLab feia difícil dividir correctament les responsabilitats dins del vostre equip entre els responsables del desenvolupament i els responsables del desplegament. Amb el llançament de GitLab 13.4, podeu donar permís per aprovar sol·licituds de combinació per al desplegament, així com per implementar codi a persones que no escriuen el codi, sense donar-los drets d'accés de manteniment (a la localització russa de "mantenidor" de GitLab). ).
Anteriorment, la gestió de vulnerabilitats a nivell d'instància estava limitada tant en funcionalitat com en flexibilitat. La interfície era una pàgina única que combina detalls de vulnerabilitats, gràfics de mètriques i configuració. No hi ha gaire espai per desenvolupar aquestes funcions o utilitzar altres funcions de seguretat.
Hem fet canvis fonamentals en com gestionem la seguretat i la transparència a GitLab. El panell de seguretat de la instància s'ha transformat en un centre de seguretat sencer. El canvi més important és la introducció d'una nova estructura de menús: en lloc d'una pàgina, ara veureu el tauler de seguretat, l'informe de vulnerabilitat i la secció de configuració per separat. Tot i que la funcionalitat no ha canviat, dividir-la en parts permetrà millorar aquesta secció que d'altra manera seria difícil. Això també prepara l'escenari per afegir altres capacitats relacionades amb la seguretat en el futur.
La secció dedicada Informe de vulnerabilitats ara té més espai per mostrar detalls importants. Aquestes són les vulnerabilitats que es troben actualment a la llista de vulnerabilitats del projecte. Moure ginys amb mètriques de vulnerabilitat a una secció separada crea un tauler de control de seguretat convenient. Ara és un llenç per a visualitzacions futures, no només per a la gestió de vulnerabilitats, sinó per a qualsevol mètrica relacionada amb la seguretat. Finalment, una àrea de configuració separada crea un espai comú per a tots els paràmetres de seguretat a nivell d'instància, no només per a la gestió de vulnerabilitats.
A principis d'aquest any, GitLab es va comprometre moure 18 característiques en codi obert. En aquesta versió, hem completat la migració de les funcions commutables al pla d'inici i continuarem migrant-les a Core des de GitLab 13.5. Ens complau oferir aquesta funció a més usuaris i volem saber com la feu servir.
De vegades, quan navegueu per GitLab, voleu anar directament a un projecte específic en lloc de la pàgina de resultats de la cerca.
Amb la barra de cerca global, podeu navegar ràpidament a les últimes entrades, grups, projectes, configuració i temes d'ajuda. Fins i tot podeu utilitzar una tecla d'accés ràpid /per moure el cursor a la barra de cerca per navegar per GitLab de manera encara més eficient!
Quan es revisa una sol·licitud de combinació, pot ser difícil determinar si el codi canviat està cobert per proves unitàries. En canvi, els revisors poden confiar en la cobertura general i sol·licitar que s'augmenti abans d'aprovar una sol·licitud de fusió. Això pot conduir a un enfocament casual per escriure proves, que en realitat no millorarà la qualitat del codi ni la cobertura de les proves.
Ara, quan visualitzeu una diferència de sol·licitud de combinació, veureu una visualització de la cobertura del codi. Les noves marques us permetran entendre ràpidament si el codi canviat està cobert per una prova d'unitat, la qual cosa ajudarà a accelerar la revisió del codi i el temps de fusionar i desplegar el codi nou.
Des del llançament de GitLab 12.5 utilitzant panells ambientals podríeu controlar l'estat dels entorns, però no més de set entorns en tres projectes. Hem millorat aquest tauler a la versió 13.4 paginant-lo per ajudar-vos a mantenir i gestionar els vostres entorns a escala. Ara podeu veure més entorns en més projectes.
Les proves de fuzzing d'API són una manera fantàstica de trobar errors i vulnerabilitats a les vostres aplicacions web i API que altres escàners i mètodes de prova podrien perdre.
Les proves de fuzzing de l'API a GitLab us permeten proporcionar Especificació OpenAPI v2 o Fitxer HAR la vostra aplicació i, a continuació, genera automàticament dades d'entrada aleatòries dissenyades per provar casos extrems i trobar errors. Els resultats són visibles immediatament dins del vostre pipeline.
Aquesta és la nostra primera versió de prova de fuzz d'API i ens agradaria saber què en penseu. Tenim més estoc per fer proves de fuzz moltes idees, que ens basarem en el llançament d'aquesta funció.
Anteriorment, crear un gràfic al tauler de mètriques a GitLab no era una tasca fàcil. Després de crear la mètrica al fitxer YAML del tauler de control, heu fet canvis a master, sense poder verificar que el gràfic acabat de crear funciona exactament com necessiteu. A partir d'aquesta versió, podeu previsualitzar els canvis mentre creeu el gràfic, fent-vos una idea del resultat abans d'enviar els canvis al fitxer YAML del tauler.
Quan gestioneu un gran nombre de projectes a GitLab, necessiteu una única font d'informació sobre com canvia la cobertura del codi al llarg del temps en tots els projectes. Abans, mostrar aquesta informació requeria un treball manual tediós i llarg: calia descarregar les dades de cobertura de codi de cada projecte i combinar-les en una taula.
A la versió 13.4, es va fer possible un muntatge fàcil i ràpid .csv fitxer amb totes les dades sobre la cobertura del codi per a tots els projectes del grup o per a una selecció de projectes. Aquesta característica és MVC, la seguirà l'habilitat traçar la cobertura mitjana al llarg del temps.
Aquesta versió introdueix suport per a diversos idiomes nous per a proves de fuzz dirigides a una cobertura completa.
Ara podeu avaluar totes les capacitats de les proves de fuzzing a les vostres aplicacions Java, Rust i Swift i trobar errors i vulnerabilitats que altres escàners i mètodes de prova poden perdre.
La pàgina Entorns mostra l'estat general dels vostres entorns. En aquesta versió hem millorat aquesta pàgina afegint la visualització d'alerta. Les alertes activades juntament amb l'estat dels vostres entorns us ajudaran a prendre mesures ràpidament per corregir les situacions que es presenten.
Mitjançant l'ús de canalitzacions imbricades, ara és possible executar canalitzacions noves dins de canalitzacions secundàries. El nivell addicional de profunditat pot ser útil si necessiteu la flexibilitat per generar un nombre variable de canonades.
Anteriorment, quan s'utilitzaven canalitzacions imbricades, cada canalització secundària requeria que es definís manualment una tasca d'activació a la canalització principal. Ara podeu crear canalitzacions imbricades que llançaran dinàmicament qualsevol nombre de canalitzacions imbricades noves. Per exemple, si teniu un monorepositori, podeu generar dinàmicament el primer subconducte, que crearà el nombre necessari de canalitzacions noves en funció dels canvis a la branca.
Anteriorment, navegar entre les canalitzacions primaris i imbricades no era gaire convenient: necessitaveu molts clics per arribar a la canalització desitjada. Tampoc va ser fàcil esbrinar quina feina va iniciar el gasoducte. Ara serà molt més fàcil veure les connexions entre els canals pare i els imbricats.
Si has utilitzat matriu de tasques, potser us heu adonat que era difícil determinar quina variable de matriu s'utilitzava per a una feina concreta, ja que els noms de les feines semblaven matrix 1/4. A la versió 13.4, veureu els valors variables rellevants que es van utilitzar en aquesta feina en lloc del nom genèric de la feina. Per exemple, si el vostre objectiu és depurar l'arquitectura x86, llavors el treball es cridaria matrix: debug x86.
Els usuaris de GitLab ara podran connectar els seus comptes de GitLab al seu compte d'Atlassian Cloud. Això us permetrà iniciar sessió a GitLab amb les vostres credencials d'Atlassian i també establirà les bases per a futures millores d'integració. Gitlab amb Jira i amb altres productes de la línia Atlassian.
Les organitzacions centrades en el compliment necessiten una manera de mostrar als auditors una visió holística dels components associats a qualsevol canvi en la producció. A GitLab, això significa recollir-ho tot en un sol lloc: sol·licituds de combinació, tiquets, canalitzacions, exploracions de seguretat i altres dades de confirmació. Fins ara, havíeu de recollir-la manualment a GitLab o bé configurar les vostres eines per recollir la informació, cosa que no era gaire eficient.
Ara podeu recopilar i exportar aquestes dades de manera programada per complir els requisits d'auditoria o realitzar altres anàlisis. Per exportar una llista de totes les confirmacions de combinació per al grup actual, heu d'anar a Taulers de control de compliment i feu clic al botó Llista de totes les confirmacions de fusió. El fitxer resultant contindrà totes les confirmacions de la sol·licitud de fusió, el seu autor, ID de la sol·licitud de fusió associada, grup, projecte, confirmadors i altra informació.
La gestió de l'accés a l'espai de noms de GitLab és una part important dels esforços de compliment. Des dels principis de privilegis mínims fins a la desactivació de l'accés programat, pot haver-hi diversos requisits associats als testimonis d'accés personal a GitLab. Per facilitar el manteniment i la gestió de totes aquestes credencials d'usuari dins del vostre espai de noms, hem proporcionat la possibilitat d'enumerar tots els testimonis d'accés personals i, opcionalment, acces denegat mitjançant API.
Aquestes millores a l'API de GitLab permeten als usuaris enumerar i revocar els seus propis testimonis d'accés personals, i als administradors a enumerar i revocar els testimonis dels seus usuaris. Ara serà més fàcil per als administradors veure qui té accés al seu espai de noms, prendre decisions d'accés basant-se en les dades dels usuaris i revocar els testimonis d'accés personals que puguin haver estat compromesos o que queden fora de les polítiques de gestió d'accés de l'empresa.
Quan es revisen els canvis de codi, les discussions i les confirmacions de sol·licituds de combinació, sovint és desitjable fer una compra local de la branca per a una revisió més profunda. Tanmateix, trobar el nom del fil es fa cada cop més difícil a mesura que s'afegeix més contingut a la descripció de la sol·licitud de combinació i cal desplaçar-se més avall per la pàgina.
Hem afegit el nom de la branca a la barra lateral de la sol·licitud de combinació, fent-lo accessible en qualsevol moment i eliminant la necessitat de desplaçar-se per tota la pàgina. Igual que l'enllaç a la sol·licitud de combinació, la secció de la branca d'origen conté un còmode botó de "còpia".
Gràcies Ethan Reesor per la teva enorme contribució al desenvolupament d'aquesta funció!
Les sol·licituds de combinació que afegeixen canvis a diversos fitxers de vegades redueixen les diferències de fitxers grans per millorar el rendiment de la representació. Quan això passa, és possible saltar accidentalment un fitxer durant la revisió, especialment en sol·licituds de combinació amb un gran nombre de fitxers. A partir de la versió 13.4, les sol·licituds de combinació marcaran les diferències que continguin fitxers plegats, de manera que no us perdreu aquests fitxers durant la revisió del codi. Per a una major claredat, tenim previst afegir ressaltats a aquests fitxers en una versió futura. Estigueu atents a les actualitzacions bitllet de gitlab #16047.
A la secció de diferències de sol·licitud de combinació, els fitxers grans es repleguen per millorar el rendiment. Tanmateix, quan es revisa el codi, alguns fitxers es poden perdre quan el revisor es desplaça per la llista de fitxers, ja que tots els fitxers grans estan col·lapsats.
Hem afegit un avís visible a la part superior de la pàgina de diferència de sol·licitud de combinació per informar els usuaris que hi ha un fitxer combinat en aquesta secció. D'aquesta manera, no us perdreu cap canvi a la sol·licitud de combinació durant la revisió.
Anteriorment, quan el node principal d'un clúster de Gitaly estava fora de línia, els dipòsits d'aquest node es marcaven com a només de lectura. Això evitava la pèrdua de dades en situacions en què hi havia canvis al node que encara no s'havien replicat. Quan el node va tornar a estar en línia, GitLab no es va restaurar automàticament i els administradors van haver d'iniciar manualment el procés de sincronització o acceptar la pèrdua de dades. Altres situacions, com ara la fallada d'una tasca de rèplica en un node secundari, també podrien donar lloc a dipòsits obsolets o de només lectura. En aquest cas, el dipòsit va romandre obsolet fins que es va produir la següent operació d'escriptura, que iniciaria la tasca de rèplica.
Per resoldre aquest problema Prefecte ara programa una tasca de rèplica quan detecta un dipòsit obsolet en un node i la darrera versió del dipòsit en un altre. Aquesta tasca de rèplica manté el dipòsit actualitzat automàticament, eliminant la necessitat de restaurar les dades manualment. La recuperació automàtica també garanteix que els nodes secundaris s'actualitzen ràpidament si falla una tasca de rèplica, en lloc d'esperar a la següent operació d'escriptura. Com que molts clústers de Gilaly emmagatzemen un gran nombre de dipòsits, això redueix significativament el temps que els administradors i els enginyers de fiabilitat dediquen a recuperar dades després d'un error.
A més, la reparació automàtica inicia la replicació dels dipòsits en qualsevol nou node Gitaly afegit al clúster, eliminant el treball manual en afegir nous nodes.
La comunicació eficaç a GitLab es basa en llistes de tasques pendents. Si se't menciona en un comentari, és fonamental poder saltar a una tasca i començar a fer alguna cosa o marcar-la com a completada. També és important poder assignar-vos una tasca quan necessiteu treballar en alguna cosa o tornar-hi més tard.
Anteriorment, no podies afegir tasques ni marcar-les com a completades quan es treballava amb dissenys. Això va alterar seriosament l'eficiència de la comunicació entre els equips de producte, ja que les tasques pendents són un element crític del flux de treball de GitLab.
A la versió 13.4, els dissenys es posen al dia amb els comentaris dels bitllets en l'ús de les tasques, cosa que fa que el treball amb ells sigui més coherent i eficient.
Hem millorat la guia de resolució de problemes per a GitLab CI/CD amb més informació sobre els problemes habituals que podeu trobar. Esperem que la documentació millorada sigui un recurs valuós per ajudar-vos a posar en marxa GitLab CI/CD de manera ràpida i senzilla.
Anteriorment, les sol·licituds de combinació podien sortir de la cua de combinació per accident a causa dels comentaris tardans. Si ja hi havia una sol·licitud de combinació a la cua i algú hi afegia un comentari que creava una nova discussió no resolta, es considerava que la sol·licitud de combinació no era apta per a una combinació i sortiria de la cua. Ara, després d'afegir una sol·licitud de combinació a la cua de combinació, es poden afegir nous comentaris sense por d'interrompre el procés de combinació.
Els desenvolupadors haurien de poder veure el valor de la cobertura del codi un cop finalitzada la canalització, fins i tot en escenaris complexos, com ara executar una canalització amb diverses tasques que s'han d'analitzar per calcular el valor de cobertura. Anteriorment, el giny de sol·licitud de combinació només mostrava la mitjana d'aquests valors, la qual cosa significava que havies de navegar a la pàgina de treball i tornar a la sol·licitud de combinació per obtenir valors de cobertura intermedis. Per estalviar-vos temps i aquests passos addicionals, vam fer que el giny mostrés el valor de cobertura mitjà, els seus canvis entre les branques de destinació i d'origen i una informació sobre eines que mostra el valor de cobertura per a cada treball en funció del qual es va calcular la mitjana.
El registre de paquets GitLab és un lloc per emmagatzemar i distribuir paquets en diferents formats. Quan teniu molts paquets al vostre projecte o grup, heu d'identificar ràpidament els paquets no utilitzats i eliminar-los per evitar que la gent els descarregui. Podeu eliminar paquets del vostre registre mitjançant API de paquets o mitjançant la interfície d'usuari del registre de paquets. Tanmateix, fins ara no podríeu eliminar paquets quan visualitzeu un grup a través de la interfície d'usuari. Com a resultat, vau haver d'eliminar paquets innecessaris per projecte, cosa que era ineficient.
Ara podeu eliminar paquets quan visualitzeu el registre de paquets d'un grup. Simplement aneu a la pàgina de registre de paquets del grup, filtreu els paquets pel nom i elimineu els que no necessiteu.
Podeu utilitzar el repositori Conan a GitLab per publicar i distribuir dependències de C/C++. Tanmateix, anteriorment els paquets només podien escalar al nivell d'instància, ja que el nom del paquet Conan només podia tenir un màxim de 51 caràcters. Si voleu publicar un paquet d'un subgrup, per exemple gitlab-org/ci-cd/package-stage/feature-testing/conan, era gairebé impossible de fer.
Ara podeu escalar els paquets Conan fins al nivell de projecte, facilitant la publicació i la distribució de les dependències dels vostres projectes.
Estem encantats d'afegir a la nostra llista escanejos de dependències per a projectes de codi C, C++, C# i .Net que utilitzen NuGet 4.9+ o gestors de paquets Conan. llenguatges i marcs compatibles. Ara podeu habilitar l'exploració de dependències com a part de l'etapa segura per comprovar si hi ha vulnerabilitats conegudes a les dependències afegides mitjançant els gestors de paquets. Les vulnerabilitats trobades es mostraran a la vostra sol·licitud de fusió juntament amb el seu nivell de gravetat, de manera que sàpigues abans d'executar la fusió quins riscos comporta la nova dependència. També podeu configurar el vostre projecte per requerir confirmació de la sol·licitud de combinació per a dependències amb vulnerabilitats amb nivells de gravetat crític (crític), alt (alt) o desconegut (desconegut).
Anteriorment, quan s'establia la configuració de la sol·licitud de combinació Combinar quan acabi la canonada (Merge When Pipeline Succeeds, MWPS) no s'ha enviat cap notificació per correu electrònic. Havíeu de comprovar manualment l'estat o esperar una notificació de combinació. Amb aquesta versió ens complau presentar les contribucions dels usuaris @ravishankar2kool, que va resoldre aquest problema afegint notificacions automàtiques a tots els subscrits a una sol·licitud de combinació quan un revisor canvia la configuració de combinació a MWPS.
No tots els problemes que sorgeixen desencadenen alertes immediatament: els usuaris informen d'interrupcions i els membres de l'equip investiguen problemes de rendiment. Els incidències són ara un tipus de bitllet, de manera que els vostres equips poden crear-los ràpidament com a part del seu flux de treball normal. Feu clic Nova tasca des de qualsevol lloc de GitLab i al camp Tipus seleccionar Incident.
Hem millorat les alertes de GitLab afegint un nou tipus de menció específicament per a elles a GitLab Markdown, cosa que facilita compartir i esmentar alertes. Ús ^alert#1234per esmentar l'alerta en qualsevol camp Markdown: en incidències, bitllets o sol·licituds de combinació. Això també us ajudarà a identificar les feines que es creen a partir d'alertes en lloc de bitllets o sol·licituds de combinació.
La descripció de l'alerta conté informació fonamental per a la resolució de problemes i la recuperació, i aquesta informació hauria de ser fàcilment accessible perquè no hagis de canviar d'eina o pestanya mentre treballes per resoldre un incident. Els incidents creats a partir d'alertes mostren la descripció completa de l'alerta a la pestanya Detalls de l'alerta.
GitLab, com a aplicació única, té la capacitat única de fer descobriment de contingut en tot el vostre flux de treball DevOps ràpidament. A GitLab 13.4, la cerca avançada retorna resultats un 75% més ràpid limitat a determinats espais de noms i projectes, com a GitLab.com.
Hi havia una opció per ajornar la supressió del projecte introduït a 12.6. Tanmateix, anteriorment no era possible veure tots els projectes en espera de supressió en un sol lloc. Els administradors d'instàncies d'usuari de GitLab ara poden veure tots els projectes de supressió pendents en un sol lloc, juntament amb botons per restaurar fàcilment aquests projectes.
Aquesta característica ofereix als administradors un major control sobre l'eliminació del projecte recopilant tota la informació rellevant en un sol lloc i oferint la possibilitat de desfer accions d'eliminació no desitjades.
Anteriorment, les regles d'impuls de grup només es podien configurar visitant cada grup individualment a través de la interfície d'usuari de GitLab i aplicant aquestes regles. Ara podeu gestionar aquestes regles mitjançant una API per donar suport a les vostres eines personalitzades i l'automatització de GitLab.
Emmagatzematge de credencials Proporciona als administradors la informació que necessiten per gestionar les credencials d'usuari per a la seva instància de GitLab. Com que les organitzacions centrades en el compliment varien en el rigor de les seves polítiques de gestió de credencials, hem afegit un botó que permet als administradors revocar opcionalment el testimoni d'accés personal (PAT) d'un usuari. Els administradors ara poden revocar fàcilment els PAT potencialment compromesos. Aquesta funció és útil per a les organitzacions que volen opcions de compliment més flexibles per minimitzar les interrupcions als seus usuaris.
A GitLab 13.4, estem introduint una nova manera de personalitzar l'editor de llocs estàtic. Tot i que el fitxer de configuració no desa ni rep cap configuració en aquesta versió, estem posant les bases per a una personalització futura del comportament de l'editor. En futures versions afegirem al fitxer .gitlab/static-site-editor.yml paràmetres per a la instal·lació adreça del lloc base, en la qual les imatges carregades a l'editor s'emmagatzemen, anul·lant la configuració de sintaxi de Markdown i altres opcions de l'editor.
Front matter és una manera flexible i còmoda de definir variables de pàgina en fitxers de dades per processar-les pel generador de llocs estàtic. Normalment s'utilitza per definir el títol de la pàgina, la plantilla de disseny o l'autor, però es pot utilitzar per passar qualsevol tipus de metadades al generador quan es representa la pàgina en HTML. Inclou a la part superior de cada fitxer de dades, la part introductòria sol tenir un format YAML o JSON i requereix una sintaxi coherent i precisa. Els usuaris que no estiguin familiaritzats amb regles de sintaxi específiques poden introduir de manera inadvertida un marcatge no vàlid, que al seu torn pot causar problemes de format o fins i tot errors de compilació.
El mode d'edició WYSIWYG de l'editor del lloc estàtic ja elimina la introducció de l'editor per evitar aquests errors de format. Tanmateix, això impedeix canviar els valors emmagatzemats en aquesta part sense tornar a l'edició en mode font. A GitLab 13.4, podeu accedir a qualsevol camp i editar-ne el valor en una interfície familiar basada en formularis. Quan es prem el botó ajustos (Configuració) s'obrirà un panell que mostrarà un camp de formulari per a cada clau definida al principi. Els camps s'omplen amb el valor actual i editar-ne qualsevol és tan senzill com introduir-lo al formulari web. Editar la introducció d'aquesta manera evita una sintaxi complexa i us ofereix un control complet sobre el contingut alhora que garanteix que el resultat final tingui un format coherent.
Per als usuaris de Jira a GitLab: Aplicació GitLab per a Jira и Connector DVCS us permeten mostrar informació sobre les confirmacions de GitLab i les sol·licituds de combinació directament a Jira. En combinació amb la nostra integració Jira integrada, podeu moure't fàcilment entre les dues aplicacions mentre treballeu.
Aquestes funcions abans només estaven disponibles al nostre pla Premium, però ara estan disponibles per a tots els usuaris!
Un clúster Gitaly us permet replicar els dipòsits Git a diversos nodes Gitaly "càlids". Això augmenta la tolerància a fallades eliminant els punts únics de fallada. Operacions Transaccionals, introduït a GitLab 13.3, fa que els canvis es difonguin a tots els nodes de Gitaly del clúster, però només els nodes de Gitaly que voten d'acord amb el node principal guarden els canvis al disc. Si tots els nodes de rèplica no estan d'acord, només s'emmagatzemarà una còpia del canvi al disc, creant un únic punt d'error fins que es completi la rèplica asíncrona.
La votació majoritària millora la tolerància a errors en requerir el consentiment de la majoria de nodes (no tots) abans de desar els canvis al disc. Si aquesta funció de commutació està activada, l'escriptura hauria de tenir èxit en diversos nodes. Els nodes dissidents es sincronitzen automàticament mitjançant la replicació asíncrona d'aquells nodes que han format quòrum.
Els projectes en què la gent escriu configuracions en JSON o YAML sovint són propensos a problemes perquè és fàcil fer una errada i trencar alguna cosa. És possible escriure eines d'inspecció per detectar aquests problemes al pipeline CI, però utilitzar un fitxer d'esquema JSON pot ser útil per proporcionar documentació i consells.
Els participants del projecte poden definir al seu repositori el camí a un esquema personalitzat en un fitxer .gitlab/.gitlab-webide.yml, que especifica l'esquema i la ruta dels fitxers que s'han de comprovar. Quan carregueu un fitxer específic a l'IDE web, veureu comentaris i validacions addicionals que us ajudaran a crear el fitxer.
Si utilitzeu transportadors amb gràfic acíclic dirigit (Gràfic acíclic dirigit (DAG)), podeu trobar que hi ha un límit de 10 llocs de treball que un treball pot especificar a needs:, massa dur. A la versió 13.4, el límit predeterminat es va augmentar de 10 a 50 per permetre xarxes de relacions més complexes entre les feines de les vostres canalitzacions.
Si sou administrador d'una instància personalitzada de GitLab, podeu augmentar encara més aquest límit configurant una funció de commutació, tot i que no oferim suport oficial per a això.
En alguns casos, una feina perduda en una canalització es podria considerar incorrectament correcta per a les dependències especificades a needs, que va provocar que s'executin treballs posteriors, cosa que no hauria d'haver passat. Aquest comportament s'ha corregit a la versió 13.4 i needs ara gestiona correctament els casos de tasques perduts.
Ara GitLab bloqueja automàticament l'últim treball reeixit i l'artefacte de canalització en qualsevol branca activa, sol·licitud de combinació o etiqueta per evitar que se suprimeixi després de la caducitat. Es fa més fàcil establir regles de caducitat més agressives per netejar artefactes antics. Això ajuda a reduir el consum d'espai en disc i garanteix que sempre tingueu una còpia de l'últim artefacte de la canalització.
Optimitzar el vostre pipeline CI/CD pot millorar la velocitat de lliurament i estalviar diners. Hem millorat la nostra documentació per incloure una guia ràpida per treure el màxim profit de l'optimització de les vostres canalitzacions.
Informe de la prova de la unitat és una manera fàcil de veure els resultats de totes les proves en un pipeline. Tanmateix, amb un gran nombre de proves, trobar proves fallides pot trigar molt de temps. Altres problemes que poden dificultar l'ús de l'informe inclouen la dificultat per desplaçar-se per les sortides de traça llarga i l'arrodoniment del temps a zero per a les proves que s'executen en menys d'1 segon. Ara, de manera predeterminada, quan s'ordena un informe de prova, primer col·loca les proves fallides al començament de l'informe i, a continuació, ordena les proves per durada. Això fa que sigui més fàcil trobar errors i proves llargues. A més, ara les durades de les proves es mostren en mil·lisegons o segons, la qual cosa les fa molt més ràpides de llegir, i també s'han resolt problemes de desplaçament anteriors.
Ara hi ha límits a la mida dels fitxers de paquets que es poden penjar al registre de paquets de GitLab. S'han afegit restriccions per optimitzar el rendiment del registre de paquets i prevenir els abusos. Els límits varien segons el format del paquet. Per a GitLab.com, les mides màximes dels fitxers són:
Conan: 250 MB
Maven: 3 GB
NPM: 300 MB
NuGet: 250 MB
PyPI: 3 GB
Per a les instàncies personalitzades de GitLab, els valors per defecte són els mateixos. Tanmateix, l'administrador pot actualitzar les restriccions utilitzant Consoles de rails.
Podeu utilitzar el dipòsit PyPI de GitLab per crear, publicar i compartir paquets Python juntament amb codi font i canalitzacions CI/CD. Tanmateix, anteriorment no podríeu autenticar-vos al repositori mitjançant una variable d'entorn predefinida CI_JOB_TOKEN. Com a resultat, vau haver d'utilitzar les vostres credencials personals per actualitzar el dipòsit de PyPI, o potser heu decidit no utilitzar el dipòsit en absolut.
Ara és més fàcil utilitzar GitLab CI/CD per publicar i instal·lar paquets PyPI mitjançant una variable d'entorn predefinida CI_JOB_TOKEN.
Per a l'exploració DAST a demanda, això va ser introduït a la versió anterior, s'han afegit perfils d'escàner DAST. Amplien les capacitats de configuració d'aquestes exploracions, la qual cosa us permet crear ràpidament diversos perfils per cobrir diversos tipus d'escaneig. A la versió 13.4, el perfil del rastrejador inclou de manera nativa una configuració de temps d'espera del rastrejador que estableix quant de temps s'ha d'executar el rastrejador DAST mentre intenta descobrir totes les pàgines d'un lloc rastrejat. El perfil també inclou una configuració de temps d'espera del lloc objectiu per establir quant de temps ha d'esperar el rastrejador perquè un lloc sigui accessible abans d'avortar el rastreig si el lloc no respon amb un codi d'estat 200 o 300. A mesura que continuem millorant, aquesta funció serà afegit al perfil de l'escàner en futures versions; s'afegiran paràmetres de configuració addicionals.
Si utilitzeu les pàgines de GitLab i voleu gestionar millor els canvis d'URL, és possible que hàgiu notat que la gestió de redireccions al vostre lloc de pàgines de GitLab no era possible. GitLab ara us permet configurar regles per redirigir un URL a un altre per al vostre lloc de Pages afegint un fitxer de configuració al repositori. Aquesta característica és possible gràcies a la contribució de Kevin Barnett (@PopeDrFreud), el nostre Eric Eastwood (@MadLittleMods) i els equips de GitLab. Gràcies a tots per la vostra aportació.
L'accés a les versions anteriors de l'estat de Terraform és necessari tant per al compliment com per a la depuració si cal. El suport per a la versió de l'estat de Terraform gestionat per GitLab es proporciona a partir de GitLab 13.4. El control de versions s'habilita automàticament per als nous fitxers d'estat de Terraform. Els fitxers d'estat de Terraform existents seran migrat automàticament al repositori versionat en un llançament posterior.
Quan processeu les incidències, heu de poder determinar fàcilment quant de temps va estar oberta una alerta i quantes vegades s'ha activat l'esdeveniment. Aquests detalls solen ser crítics per determinar l'impacte en el client i què hauria d'abordar primer el vostre equip. Al nou tauler Detalls de l'incident, mostrem l'hora d'inici de l'alerta, el nombre d'esdeveniments i un enllaç a l'alerta original. Aquesta informació està disponible per a les incidències que es generen a partir de les alertes.
La dimensió de gravetat de l'incident permet als responsables i a les parts interessades determinar l'impacte d'una interrupció, així com el mètode i la urgència de la resposta. A mesura que el vostre equip comparteix resultats durant la resolució d'incidències i la recuperació, poden canviar aquesta configuració. Ara podeu editar la gravetat d'un incident a la barra lateral dreta de la pàgina Detalls de l'incident, i la gravetat es mostra a la llista d'incidències.
Aquesta millora de l'Editor de regles de seguretat de la xarxa de contenidors permet als usuaris crear, editar i suprimir les seves regles fàcilment des de la interfície d'usuari de GitLab. Les característiques de l'editor inclouen .yaml per a usuaris experimentats i un editor de regles amb una interfície intuïtiva per als nous a les regles de la xarxa. Podeu trobar noves opcions de gestió de regles a la secció Seguretat i compliment > Gestió d'amenaces > Regles (Seguretat i compliment > Gestió d'amenaces > Polítiques).
Tant GitLab com GitLab Runner ara són compatibles Emmagatzematge de blobs Azure, facilitant l'execució dels serveis de GitLab a Azure.
Les instàncies de GitLab admeten Azure per a tot tipus de magatzems d'objectes, inclosos fitxers LFS, artefactes CI i còpies de seguretat. Per configurar l'emmagatzematge d'Azure Blob, seguiu les instruccions d'instal·lació General o Quadre de timó.
Els processadors de treballs de GitLab també admeten Azure per a l'emmagatzematge memòria cau distribuïda. L'emmagatzematge Azure es pot configurar mitjançant la secció [runners.cache.azure].
En resposta a la creixent demanda de suport per executar GitLab en arquitectura ARM de 64 bits, ens complau anunciar la disponibilitat del paquet oficial ARM64 Ubuntu 20.04 Omnibus. Moltes gràcies a Zitai Chen i Guillaume Gardet per les enormes contribucions que van fer: les seves sol·licituds de fusió van tenir un paper clau en això!
Per descarregar i instal·lar el paquet per a Ubuntu 20.04, aneu al nostre pàgina d'instal·lació i seleccioneu Ubuntu.
Les targetes intel·ligents, com ara les targetes d'accés comú (CAC), ara es poden utilitzar per autenticar-se en una instància de GitLab desplegada mitjançant el gràfic Helm. Les targetes intel·ligents s'autentiquen en una base de dades local mitjançant certificats X.509. Amb això, el suport de targetes intel·ligents amb Helm Chart ara s'ajusta al suport de targetes intel·ligents disponible als desplegaments d'Òmnibus.