GitLab 11.10 med dashboard-pipelines, flettede resultatpipelines og flerlinjeforslag i fletteanmodninger.
Praktisk information om ydeevnen af rørledninger i forskellige projekter
GitLab fortsætter med at øge synligheden i DevOps-livscyklussen. I dette nummer på kontrolpanel tilføjet en oversigt over pipeline-status.
Dette er praktisk, selvom du studerer pipelinen af et enkelt projekt, men er især nyttigt, hvis flere projekter, - og det sker som regel, hvis du bruger mikrotjenester og vil køre en pipeline til at teste og levere kode fra forskellige projektlagre. Nu kan du med det samme se forestillingen rørledninger på kontrolpanelet, hvor end de udføres.
Kører pipelines for flettede resultater
Over tid divergerer kilde- og målgrenene, og der kan opstå en situation, hvor de klarer sig hver for sig, men ikke arbejder sammen. Nu kan du køre pipelines for flettede resultater før fletning. På denne måde vil du hurtigt bemærke fejl, der kun ville dukke op, hvis ændringer ofte blev flyttet mellem filialer, hvilket betyder, at du vil rette pipelinefejl meget hurtigere og vil bruge GitLab Runner.
Yderligere optimere samarbejdet
GitLab 11.10 tilføjer endnu flere funktioner til problemfrit samarbejde og forenklede arbejdsgange. I tidligere nummer vi introducerede forslag til fletteanmodninger, hvor en korrekturlæser kunne foreslå en ændring af én linje i en kommentar til en fletningsanmodning, og den umiddelbart kunne committes direkte fra kommentartråden. Vores brugere kunne lide det og bad om at udvide denne funktion. Nu kan du tilbyde ændringer for flere linjer, der angiver, hvilke linjer der skal fjernes, og hvilke der skal tilføjes.
Dashboardet i GitLab viser information om projekter på tværs af hele din GitLab-instans. Du tilføjer individuelle projekter et ad gangen og kan vælge, hvilket projekt der interesserer dig.
I denne udgivelse har vi tilføjet oplysninger om pipeline-statusser til dashboardet. Nu ser udviklere funktionaliteten af pipelines i alle de nødvendige projekter - i én grænseflade.
Pipelines til sammenlagte resultater
PREMIUM, ULTIMAT, SØLV, GULD
Det er almindeligt, at kildegrenen afviger fra målgrenen over tid, medmindre du konstant skubber ændringer mellem dem. Som følge heraf er kilde- og målforgreningsrørledningerne "grønne", og der er ingen flettekonflikter, men fletningen mislykkes på grund af inkompatible ændringer.
Når fletteanmodningspipelinen automatisk opretter et nyt link, der indeholder det kombinerede resultat af fletningen af kilde- og målgrenene, kan vi køre pipelinen på det link og sikre, at det overordnede resultat fungerer.
Hvis du bruger merge request pipelines (i enhver kapacitet) og bruger private GitLab runners version 11.8 eller ældre, skal du opdatere dem for at undgå dette problem gitlab-ee#11122. Dette påvirker ikke brugere af offentlige GitLab-løbere.
Når man arbejder sammen om fusionsanmodninger, opdager man ofte problemer og foreslår løsninger. Siden GitLab 11.6 understøtter vi forslag til ændringer for en linje.
I version 11.10 kan fletteanmodningsdiff-kommentarer foreslå ændringer til flere linjer, og så kan alle med skrivetilladelser til den oprindelige gren acceptere dem med et enkelt klik. Takket være den nye funktion kan du undgå copy-paste, som i tidligere versioner.
Genveje i ét område
PREMIUM, ULTIMAT, SØLV, GULD
Med etiketter i samme omfang kan teams anvende gensidigt ekskluderende etiketter (i samme omfang) til et problem, fletteanmodning eller episk i scenarier med brugerdefinerede felter eller tilpassede arbejdsgangstilstande. De konfigureres ved hjælp af en speciel kolonsyntaks i etikettitlen.
Lad os sige, at du har brug for et brugerdefineret felt i opgaver for at spore operativsystemet på den platform, dine funktioner er målrettet mod. Hver opgave skal kun relatere til én platform. Du kan oprette genveje platform::iOS, platform::Android, platform::Linux og andre efter behov. Hvis du anvender en sådan genvej til en opgave, vil den automatisk fjerne en anden eksisterende genvej, der starter med platform::.
Lad os sige, at du har genveje workflow::development, workflow::review и workflow::deployed, der angiver status for dit teams arbejdsgang. Hvis opgaven allerede har en genvej workflow::development, og udvikleren ønsker at flytte opgaven til scenen workflow::review, den anvender bare den nye genvej og den gamle (workflow::development) slettes automatisk. Denne adfærd eksisterer allerede, når du flytter opgaver mellem lister med genveje på opgavebrættet, der repræsenterer dit teams arbejdsgang. Nu kan teammedlemmer, der ikke arbejder med opgavebrættet direkte, ændre arbejdsgangens tilstand i selve opgaverne.
Når du typisk bruger et containerregister med CI-pipelines, skubber du flere separate ændringer til et enkelt tag. På grund af Dockers distributionsimplementering er standardadfærden at gemme alle ændringer i systemet, men de ender med at optage meget hukommelse. Hvis du bruger parameteren -m с registry-garbage-collect, kan du hurtigt slette alle tidligere ændringer og frigøre værdifuld plads.
Køb af yderligere CI Runner minutter
BRONZE, SØLV, GULD
Brugere med betalte GitLab.com-planer (Guld, Sølv, Bronze) kan nu købe yderligere CI Runner-minutter. Tidligere var det nødvendigt at overholde den kvote, der var fastsat i planen. Med denne forbedring kan du forudkøbe over-kvoteminutter for at undgå afbrydelser på grund af pipeline-nedlukninger.
Nu koster 1000 minutter $8, og du kan købe så mange af dem, du vil. Yderligere minutter begynder at blive brugt, når du har brugt hele din månedlige kvote, og resten af de ekstra minutter vil rulle over til næste måned. I fremtidig udgivelse vi ønsker også at tilføje denne funktion til gratis planer.
Med Auto DevOps går teams over til moderne DevOps-praksis næsten uden anstrengelse. Fra og med GitLab 11.10 leveres hvert job i Auto DevOps som uafhængig skabelon. Brugere kan bruge функцию includes i GitLab CI for at aktivere individuelle stadier af Auto DevOps og samtidig bruge din brugerdefinerede fil gitlab-ci.yml. På denne måde kan du kun aktivere de job, du har brug for, og drage fordel af upstream-opdateringer.
Administrer automatisk gruppemedlemmer på GitLab.com ved hjælp af SCIM
SØLV, GULD
Tidligere skulle du manuelt administrere gruppemedlemskab på GitLab.com. Du kan nu bruge SAML SSO og administrere medlemskab ved hjælp af SCIM til at oprette, slette og opdatere brugere på GitLab.com.
Dette er især nyttigt for virksomheder med et stort antal brugere og centraliserede identitetsudbydere. Nu kan du have en enkelt kilde til sandhed, såsom Azure Active Directory, og brugere oprettes og slettes automatisk gennem identitetsudbyderen i stedet for manuelt.
Log ind på GitLab.com via SAML-udbyder
SØLV, GULD
Tidligere, når man brugte SAML SSO til grupper, var brugeren forpligtet til at logge ind med GitLab-legitimationsoplysninger og en identitetsudbyder. Du kan nu logge direkte på via SSO som en GitLab-bruger tilknyttet en konfigureret gruppe.
Brugere behøver ikke at logge ind to gange, hvilket gør det nemmere for virksomheder at bruge SAML SSO til GitLab.com.
Andre forbedringer i GitLab 11.10
Episk børneskema
ULTIMAT, GULD
I den tidligere udgivelse tilføjede vi underordnede epos (epos af epos) for at hjælpe dig med at administrere din jobfordelingsstruktur. Underordnede epos vises på forældreeposens side.
I denne udgivelse viser den overordnede episke side en oversigt over børneepos, så hold kan se tidslinjen for børneepos og kan administrere timingafhængigheder.
I denne udgivelse introducerer vi informative skærmbilleder, der dukker op, når du holder musemarkøren over et link til en fletteanmodning. Tidligere viste vi kun fletteanmodningstitlen, men nu viser vi også fletteanmodningsstatus, CI-pipelinestatus og kort URL.
Git-arbejdsgange til frigivelse eller forsendelse af software involverer ofte flere langsigtede grene - for at lave rettelser til tidligere versioner (f.eks. stable-11-9) eller at gå fra kvalitetstest til produktion (f.eks. integration), men det er ikke let at finde fletteforespørgsler for disse filialer blandt de mange åbne fletteforespørgsler.
Listen over fletteanmodninger for projekter og grupper kan nu filtreres efter målgrenen af fletteanmodningen for at gøre det nemmere at finde den, du har brug for.
Bruger vi den Trunk-baserede udviklingsmetode, bør vi undgå langlivede grene til fordel for små, midlertidige grene med en enkelt ejer. Små ændringer skubbes ofte direkte til målgrenen, men det risikerer at bryde bygningen.
Med denne udgivelse understøtter GitLab nye Git push-muligheder til automatisk at åbne fletteforespørgsler, indstille målgrenen og gennemtvinge en fletning på en vellykket pipeline fra kommandolinjen på tidspunktet for push til grenen.
GitLab kan få adgang til flere Prometheus-servere (miljø, projekt og grupper (forventet)), men at have flere slutpunkter kan tilføje kompleksitet eller understøttes muligvis ikke af standard dashboards. Med denne udgivelse kan teams bruge en enkelt Prometheus API, hvilket gør integration med tjenester som Grafana meget nemmere.
I en projekt Wiki kan teams dele dokumentation og anden vigtig information sammen med kildekode og opgaver. Med denne udgivelse kan du sortere listen over Wiki-sider efter oprettelsesdato og titel for hurtigt at finde nyligt oprettet indhold.
Overvågningsressourcer efterspurgt af klyngen
ULTIMAT, GULD
GitLab hjælper dig med at overvåge din Kubernetes-klynge for udviklings- og produktionsapplikationer. Start med denne udgivelse, overvåg CPU- og hukommelsesanmodninger fra din klynge for at opdage potentielle problemer, før de bliver til problemer.
Se Load Balancer Metrics i Grafana Dashboard
KERNE, STARTER, PREMIUM, ULTIMAT
Det er meget vigtigt at overvåge sundheden for din GitLab-instans. Tidligere leverede vi standard dashboards gennem en indlejret Grafana-instans. Fra og med denne udgivelse har vi inkluderet yderligere dashboards til overvågning af NGINX load balancers.
SAST til Elixir
ULTIMAT, GULD
Vi fortsætter med at udvide sprogunderstøttelsen og uddybe sikkerhedstjek. I denne udgivelse har vi aktiveret sikkerhedstjek for projekter på Elixir og projekter skabt på Phoenix platform.
Flere forespørgsler i ét diagram
PREMIUM, ULTIMAT, SØLV, GULD
I GitLab kan du oprette diagrammer for at visualisere de metrics, du indsamler. Ofte, hvis du for eksempel har brug for at se på den maksimale eller gennemsnitlige værdi af en metrik, vil du gerne vise flere værdier på et diagram. Fra og med denne udgivelse har du denne mulighed.
Vi har tilføjet resultater fra Dynamic Application Security Testing (DAST) til teamets sikkerhedsdashboard ud over SAST, containerscanning og afhængighedsscanning.
Tilføjelse af metadata til en containerscanningsrapport
ULTIMAT, GULD
I denne udgivelse indeholder containerscanningsrapporten flere metadata - vi har tilføjet berørt komponent (en Clair-funktion) ind i eksisterende metadata: prioritet, ID (med reference til mitre.org) og berørt niveau (f.eks. debian:8).
Tilføjelse af en metrics-rapporttype for at flette anmodninger
PREMIUM, ULTIMAT, SØLV, GULD
GitLab leverer allerede flere typer rapporter, der kan inkluderes direkte i fletteforespørgsler: fra rapporter til kode kvalitet и enhedstest på verifikationsstadiet indtil CEST и DAST på beskyttelsesstadiet.
Selvom disse er vigtige rapporter, er der også brug for grundlæggende oplysninger, der passer til forskellige scenarier. I GitLab 11.10 leverer vi metrics-rapportering direkte i fletteanmodningen, som forventer et simpelt nøgle-værdi-par. På denne måde sporer brugere ændringer over tid, herunder tilpassede metrics og ændringer i metrics for en specifik fletteanmodning. Hukommelsesbrug, specialiseret arbejdsbelastningstest og sundhedsstatus kan konverteres til simple metrics, der kan ses direkte i fletteanmodninger sammen med andre indbyggede rapporter.
Understøttelse af multi-modul Maven-projekter til afhængighedsscanning
ULTIMAT, GULD
Med denne udgivelse understøtter multi-modul Maven-projekter GitLab-afhængighedsscanning. Tidligere, hvis et undermodul havde en afhængighed af et andet undermodul på samme niveau, kunne det ikke tillade indlæsning fra det centrale Maven-lager. Nu er der skabt et multi-modul Maven-projekt med to moduler og en afhængighed mellem de to moduler. Afhængigheder mellem søskendemoduler er nu tilgængelige i det lokale Maven-lager, så opbygningen kan fortsætte.
Som standard kloner GitLab Runner projektet til en unik understi i $CI_BUILDS_DIR. Men for nogle projekter, som Golang, skal koden klones ind i en bestemt mappe, for at den kan bygges.
I GitLab 11.10 introducerede vi variablen GIT_CLONE_PATH, som giver dig mulighed for at angive en specifik sti, hvor GitLab Runner kloner projektet, før opgaven udføres.
Enkel maskering af beskyttede variabler i logfiler
GitLab tilbyder flere måder защитить и begrænse området variabler i GitLab CI/CD. Men variabler kan stadig ende i byggelogfiler, med vilje eller ved et uheld.
GitLab tager risikostyring og revision alvorligt og fortsætter med at tilføje compliance-funktioner. I GitLab 11.10 introducerede vi muligheden for at maskere visse typer variabler i jobsporingslogfiler, hvilket tilføjede et niveau af beskyttelse mod, at indholdet af disse variable ved et uheld bliver inkluderet i logfilerne. Og nu GitLab automatisk masker mange indbyggede token-variabler.
Med Auto DevOps på et GitLab.com-projekt kan du tage moderne DevOps-arbejdsgange fra bygning til levering uden besværet.
Fra og med GitLab 11.10 kan du aktivere eller deaktivere Auto DevOps for alle projekter i den samme gruppe.
Forenklet og forbedret licensside
STARTER, PREMIUM, ULTIMAT
For at gøre administration af licensnøgler mere praktisk og enklere har vi redesignet licenssiden i administrationspanelet og fremhævet de vigtigste elementer.
Opdater genvejsvælgeren til Kubernetes-implementeringer
Implementeringspaneler viser oplysninger om alle Kubernetes-installationer.
I denne udgivelse har vi ændret den måde, vi kortlægger genveje til implementeringer på. Kampe er nu tilgængelige pr app.example.com/app и app.example.com/env eller app. Dette vil undgå filtrering af konflikter og risikoen for forkerte implementeringer i forbindelse med projektet.
Kubernetes-integration med GitLab giver dig mulighed for at bruge RBAC-funktionen ved hjælp af en servicekonto og et dedikeret navneområde for hvert GitLab-projekt. Fra og med denne udgivelse vil disse ressourcer for maksimal effektivitet kun blive oprettet, når de er nødvendige for implementering.
Når Kubernetes implementeres, vil GitLab CI oprette disse ressourcer før implementering.
Gruppe-niveau klynger understøtter nu GitLab Runner installation. Kubernetes-løbere på gruppeniveau vises for underordnede projekter som gruppeløbere mærket cluster и kubernetes.
Funktioner implementeret med GitLab serverløs, vis nu antallet af modtagne opkald for en bestemt funktion. For at gøre dette skal du installere Prometheus på den klynge, hvor Knative er installeret.
Som standard kører GitLab Runner git clean under processen med at uploade kode, når et job udføres i GitLab CI/CD. Fra og med GitLab 11.10 kan brugere kontrollere de parametre, der sendes til et team git clean. Dette er nyttigt for teams med dedikerede løbere, såvel som for teams, der indsamler projekter fra store monorepositories. Nu kan de kontrollere aflæsningsprocessen, før de udfører scripts. Ny variabel GIT_CLEAN_FLAGS standardværdien er -ffdx og accepterer alle mulige kommandoparametre [git clean](https://git-scm.com/docs/git-clean).
Sikre miljøer kan kræve en ekstra ekstern autorisationsressource for at få adgang til projektet. Vi har tilføjet support til et ekstra niveau af adgangskontrol i 10.6 og modtog mange anmodninger om at åbne denne funktionalitet i Core. Vi er glade for at introducere ekstern autorisation og et ekstra lag af sikkerhed for Core-instanser, da denne funktion er nødvendig for individuelle deltagere.
Udviklerrollen kan oprette projekter i grupper siden version 10.5, og nu er dette muligt i Core. Oprettelse af projekter er en nøglefunktion for produktivitet i GitLab, og ved at inkludere denne funktion i Core, er det nu nemmere for for eksempel medlemmer at gøre noget nyt.
I dag udgav vi GitLab Runner 11.10! GitLab Runner er et open source-projekt, der bruges til at køre CI/CD-job og skubbe resultaterne tilbage til GitLab.
Den fulde liste over ændringer kan findes i GitLab Runner changelog: CHANGELOG.
Rettelse af det returnerede project_id i blob search API i Elasticsearch
STARTER, PREMIUM, ULTIMAT
Vi rettede en fejl i Elasticsearch blob search API, der fejlagtigt returnerede 0 for project_id. Det bliver nødvendigt reindex Elasticsearchfor at få de rigtige værdier project_id efter installation af denne version af GitLab.
Omnibus forbedringer
KERNE, STARTER, PREMIUM, ULTIMAT
Vi har lavet følgende forbedringer til Omnibus i GitLab 11.10:
GitLab 11.10 inkluderer Nærmest 5.9.0, open source Slack alternativ, hvis seneste udgivelse indeholder en ny integrationsmappe til let migrering af data fra Hipchat og meget mere. Denne version inkluderer sikkerhedsopdateringer, og vi anbefaler at opdatere.
GitLab Geo vil bringe hashed lager til GitLab 12.0
GitLab Geo er påkrævet hashed opbevaring at afbøde konkurrencen på sekundære knudepunkter. Dette blev noteret i gitlab-ce#40970.
I GitLab 11.5 vi har tilføjet dette krav til Geo-dokumentationen: gitlab-ee#8053.
I GitLab 11.6sudo gitlab-rake gitlab:geo:check kontrollerer, om hashed lagring er aktiveret, og om alle projekter er migreret. Cm. gitlab-ee#8289. Hvis du bruger Geo, skal du køre dette tjek og migrere så hurtigt som muligt.
I GitLab 11.8 permanent deaktiveret advarsel gitlab-ee!8433 vil blive vist på siden Admin område > Geo > nodeshvis ovenstående kontroller ikke er tilladt.
I GitLab 12.0 Geo vil bruge hashed krav til opbevaring. Cm. gitlab-ee#8690.
Canonical annoncerede afslutningen på standardunderstøttelse af Ubuntu 14.04 april 2019. Vi anbefaler brugere at opgradere til en understøttet LTS-version: Ubuntu 16.04 eller Ubuntu 18.04.
Sletningsdato: 22 May 2019 by
Begrænsning af det maksimale antal pipelines, der oprettes af én indsendelse
Tidligere har GitLab skabt pipelines til HEAD hver gren i forsendelsen. Dette er nyttigt for udviklere, der skubber flere ændringer på én gang (for eksempel til en funktionsgren og en develop).
Men når du skubber et stort lager, hvor der er mange aktive grene (for eksempel at flytte, spejle eller gaffel), behøver du ikke oprette en pipeline for hver gren. Fra og med GitLab 11.10 opretter vi maksimalt 4 rørledninger ved afsendelse.
Sletningsdato: 22 May 2019 by
GitLab Runner ældre kodestier
Siden Gitlab 11.9 GitLab Runner bruger ny metode kloning/kald til depotet. I øjeblikket vil GitLab Runner bruge den gamle metode, hvis den nye ikke er understøttet. Se mere i denne opgave.
I GitLab 11.0 har vi ændret metrics server konfigurationsvisningen for GitLab Runner. metrics_server vil blive fjernet til fordel for listen_address i GitLab 12.0. Se mere i denne opgave.
I version 11.3 begyndte GitLab Runner at understøtte flere cache-udbydere; hvilket resulterede i nye indstillinger for specifik S3-konfiguration. I dokumentation, giver en tabel med ændringer og instruktioner til migrering til den nye konfiguration. Se flere detaljer i denne opgave.
Disse stier vil ikke være tilgængelige i GitLab 12.0. Som bruger behøver du ikke at ændre noget, bare sørg for at din GitLab-instans kører version 11.9+, når du opgraderer til GitLab Runner 12.0.
Sletningsdato: 22 2019 juni den
Forældet mulighed for indgangspunktsfunktion til GitLab Runner
I GitLab 12.0 skifter vi til den korrekte adfærd, som om funktionsindstillingen var deaktiveret. Se mere i denne opgave.
Sletningsdato: 22 2019 juni den
Forældet understøttelse af en Linux-distribution, der er nået til EOL for GitLab Runner
Nogle Linux-distributioner, som du kan installere GitLab Runner på, har tjent deres formål.
I GitLab 12.0 vil GitLab Runner ikke længere distribuere pakker til disse Linux-distributioner. En komplet liste over distributioner, der ikke længere understøttes, kan findes i vores dokumentation. Tak til Javier Ardo (Javier Jardon) bag hans bidrag!
Sletningsdato: 22 2019 juni den
Fjernelse af gamle GitLab Runner Helper-kommandoer
Fjernelse af den gamle git clean-mekanisme fra GitLab Runner
I GitLab Runner 11.10 giver vi muligheden konfigurere, hvordan Runner udfører en kommando git clean. Derudover fjerner den nye oprydningsstrategi brugen git reset og sætter kommandoen git clean efter upload-trinnet.
Da denne adfærdsændring kan påvirke nogle brugere, har vi forberedt en indstilling FF_USE_LEGACY_GIT_CLEAN_STRATEGY. Hvis du indstiller værdien true, vil det genoprette den gamle oprydningsstrategi. Mere om brug af funktionsparametre i GitLab Runner kan findes i dokumentation.
I GitLab Runner 12.0 fjerner vi understøttelse af den gamle oprydningsstrategi og muligheden for at gendanne den ved hjælp af en funktionsparameter. Se flere detaljer i denne opgave.
Sletningsdato: 22 2019 juni den
Systeminfo sektionen i administrationspanelet
GitLab præsenterer information om din GitLab-instans i admin/system_info, men disse oplysninger er muligvis ikke nøjagtige.
Gratis: Ubegrænsede private depoter og ubegrænset antal projektbidragydere. Lukkede projekter har adgang til niveaufunktioner GratisHar åbne projekter har adgang til niveaufunktioner Guld.
Bronze: Til teams, der har brug for adgang til avancerede workflow-funktioner.
Sølv: Til teams, der har brug for mere robuste DevOps-funktioner, compliance og hurtigere support.
Guld: Velegnet til mange CI/CD-opgaver. Alle åbne projekter kan bruge Gold-funktioner gratis, uanset plan.