Dokumentation

Kvalitetspolicyer och kvalitetsgrindar

Definiera vilket arbete som måste godkännas, koppla det till projekt och ändra det säkert.

En policy är en namngiven, versionshanterad uppsättning kvalitetsgrindar. Det är policyer du kopplar till projekt; grindarna är det som faktiskt körs.

Läs först om begreppen – blockerande jämfört med rådgivande och var grindarna finns i en körning: Kvalitetsgrindar . Den här sidan handlar om hur du hanterar dem.

Hantera dem under Kvalitetskontroll. I navigeringen listas organisationens standard och alla projekt. Välj ett för att se hur nytt arbete granskas, vad som kontrolleras vid varje ändring, dess QA-nivå och var kontrollerna körs. Varje kontroll har ett reglage som börjar gälla direkt när du ändrar det. Bekräftelsen låter dig ångra ändringen, och inställningarna på en rad styr hur kontrollen fungerar.

Kvalitetskontroll
Välj vad som ska kontrolleras i varje projekt. Ändringen gäller för nytt arbete så snart du gör den.
WebbutikEgna inställningar
Den körs vid uppgiftsgranskning, för pull requests och vid releasevalidering.
Kontroller vid varje ändring
En ändring som inte klarar en kontroll skickas tillbaka till utvecklaren innan någon granskar den.
  • Mot slarvSkickar tillbaka en ändring om den försämrar tester, döljer fel, skickar med platshållare eller ökar den strukturella tekniska skulden.
  • EnhetstesterHittar och kör repots enhetstester vid varje ändring.
  • Webbläsartester2 av 3Avviker från standardinställningenKör dina användarflöden i webbläsaren mot ändringen.
  • ÖversättningarAvviker från standardinställningenKontrollerar att ändrade strängar är översatta och att platshållare och pluralformer stämmer överens.
  • Kontroller av repositoryKör dina egna kommandon, till exempel för formatering, filstorlek, migreringar, integrationstester och säkerhetsskanningar.
QA
  • Noggrann QANoggrannQA samlar in underlag i realtid och skärmbilder utifrån specifikationen. När funktionen är av får arbetet ordinarie QA.

Kvalitetskontroll: gällande policyer och den senaste körningen av kontrollerna. Exempeldata.

Skapa en policy

En policy består av kontroller och anger för varje kontroll om ett misslyckande blockerar eller bara ger en varning.

De flesta organisationer behöver två eller tre policyer, inte en per projekt:

  • en strikt policy för produktionssystem
  • en standard policy för det mesta
  • ibland en enklare policy för interna verktyg och prototyper

Fler än så, och ingen kommer ihåg vilket projekt som har vilken policy.

Organisationens standard och projektets egna inställningar

Ett projekt följer organisationens standard tills du ändrar ett av dess reglage. Då får projektet egna inställningar, kopierade från standarden, och senare ändringar av standarden gäller inte längre för projektet. På en rad kan du kopiera tillbaka en kontroll från standarden, och via projektets meny kan du återställa hela projektet till organisationens standard. Den fullständiga policyn bakom reglagen, med förväntningar, beroenden mellan kontroller, reparationsbudgetar och versioner, öppnas från samma meny som den avancerade redigeraren. För ett projekt som följer standarden utgår redigeraren från en kopia av den, och inget ändras för projektet förrän du publicerar kopian.

Ange organisationens standard för kontrollerna som de flesta projekt bör köra, inte de striktaste – de striktaste bör väljas medvetet, projekt för projekt.

Pull requests

Pull requests som personer och andra verktyg öppnar når Coroid via Coroid GitHub App. Gruppen Pull requests i Kvalitetskontroll avgör vad som händer med dem, både för organisationens standard och för varje projekt:

  • Coroid Kvalitetskontroll kör kontrollerna ovan för varje pull request och rapporterar resultatet som kontrollen Coroid Kvalitetskontroll i GitHub.
  • Coroid Granskning låter Coroids granskare läsa varje pull request och kommentera rader som den ifrågasätter. Den granskar de pull requests som Coroid Kvalitetskontroll kontrollerar.

Inställningar för Coroid Granskning:

  • Vad den publicerar. Rådgivande, vilket är standard, innebär att den kommenterar och att kontrollen aldrig misslyckas, med ett undantag: ett bekräftat kritiskt eller allvarligt säkerhetsproblem gör att kontrollen misslyckas när Säkerhet kräver säkerhetsgranskning (se Kodskanning och säkerhetsgranskning). Blockerande innebär att den begär ändringar när den hittar ett problem och att kontrollen misslyckas. Gör Coroid Granskning till en obligatorisk kontroll i GitHub om en blockerande granskning ska hindra merge.
  • Vilka pull requests. Som standard väntar den tills ett utkast markeras som klart, och hoppar över pull requests som Coroid öppnat, eftersom Coroids granskare redan har granskat dem inom uppgiften. Den kan också hoppa över pull requests från botar.
  • När den granskar. Den väntar en stund efter den senaste pushen, fem minuter som standard. En nyare push ersätter en granskning som inte har startat. Kör igen på GitHub startar en granskning direkt.
  • Granskningsdjup. Hur mycket granskaren får läsa och skriva i en granskning.

Den följer granskningsreglerna för Coroid och reglerna i mappen review-rules i ditt repository. Ett projekt som följer organisationens standard får standardens inställningar, precis som med alla andra reglage.

När något går fel

Tre reglage under organisationens standard gör misslyckanden till uppföljningsarbete för alla projekt. Varje reglage kör en automatisering som listas under Automatiseringar i Mjukvarufabrik. Agenten läser koden och skapar en uppgift, som går igenom samma specifikation, bygge, verifiering och granskning som alla andra.

ReglageNärVad agenten gör
Skapa en åtgärdsuppgift när en uppgift misslyckasEn uppgift misslyckasTar reda på varför och skapar, om orsaken finns i koden, en uppgift som åtgärdar det
Undersök när en driftsättning misslyckasEn driftsättning misslyckasLäser vad som ändrades i den versionen och skapar en uppgift som beskriver vad som gick fel och vad som behöver ändras
Planera en åtgärd när en release rullas tillbakaEn release rullas tillbakaSkapar en uppgift som dokumenterar vad som rullades tillbaka, varför och vad som måste ändras innan det kan lanseras igen

När du stänger av ett reglage pausas automatiseringen. Slår du på det igen återupptas den. Varje ändring erbjuder alternativet Ångra. Automatiseringens sida i Mjukvarufabrik visar att den hanteras av Kvalitetskontroll. Om du pausar den där är det samma sak som att stänga av reglaget; ändrar du instruktionerna blir automatiseringen din egen efter bekräftelse, och reglaget styr då inte längre om den är på eller av.

Det här var mallar i Nytt arbete. Automatiseringar som du tidigare skapat från en mall fortsätter att köras. Om du inte har ändrat automatiseringen tar reglaget över den i stället för att starta en till när du slår på det. Om du har ändrat den förblir den din: reglagets rad visar den, och du kan ta över den så att reglaget hanterar den.

Rulla ut på ett säkert sätt

Problemet med kvalitetsgrindar är inte att de är för svaga. Det är att en välmenande blockerande grind kan stoppa alla uppgifter i organisationen på en gång.

En säker ordning:

  1. Lägg till grinden som rådgivande.
  2. Låt den köras på verkligt arbete i en eller två veckor. Läs vad den flaggar.
  3. Finjustera den utifrån det du har lärt dig.
  4. Ändra till blockerande i ett projekt.
  5. Rulla ut den bredare när den fungerar som den ska.
  1. 1Lägg till kontrollenRådgivande
  2. 2Följ den i en eller två veckorRådgivande
  3. 3Justera den utifrån vad den flaggarRådgivande
  4. 4Aktivera blockering i ett projektBlockerandeEtt projekt
  5. 5Rulla ut den till fler projektBlockerandeFler projekt
v6v7Publicering skapar en ny version. Om den är felkonfigurerad kan du återställa den med en enda åtgärd.
Börja i rådgivande läge, gå sedan över till blockerande läge i ett projekt och därefter i fler. Varje publicerad ändring blir en ny policyversion som du kan återgå till.

Versionshantering och återställning

Policyer versionshanteras. Varje ändring med ett reglage publicerar en ny version, och i bekräftelsen kan du ångra genom att gå tillbaka till den föregående. Äldre versioner kan återställas från versionshistoriken i den avancerade redigeraren.

Återställning gör att du kan publicera beslutsamt. Om en ny grind visar sig vara felinställd räcker det med en enda åtgärd för att återställa den – ingen arkeologisk utgrävning behövs.

Undantag

En person med rätt behörighet kan åsidosätta en blockerande grind. Åsidosättningen loggas – vem som gjorde den, när och vad den gällde.

Håll koll på hur ofta grindar åsidosätts. Om en grind åsidosätts nästan varje gång den utlöses upprätthåller den inga regler; den skapar bara friktion och ett pappersspår. Åtgärda grinden eller ta bort den.