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.
- Organisationens standardinställning3 projekt följer den2 av 5
- WebbutikEgna inställningar4 av 5
- DokumentationswebbplatsFöljer standardinställningen2 av 5
- Fakturering APIFöljer standardinställningen2 av 5
- MobilappFöljer standardinställningen2 av 5
- 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.
- 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.
| Reglage | När | Vad agenten gör |
|---|---|---|
| Skapa en åtgärdsuppgift när en uppgift misslyckas | En uppgift misslyckas | Tar reda på varför och skapar, om orsaken finns i koden, en uppgift som åtgärdar det |
| Undersök när en driftsättning misslyckas | En driftsättning misslyckas | Lä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 tillbaka | En release rullas tillbaka | Skapar 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:
- Lägg till grinden som rådgivande.
- Låt den köras på verkligt arbete i en eller två veckor. Läs vad den flaggar.
- Finjustera den utifrån det du har lärt dig.
- Ändra till blockerande i ett projekt.
- Rulla ut den bredare när den fungerar som den ska.
- 1Lägg till kontrollenRådgivande
- 2Följ den i en eller två veckorRådgivande
- 3Justera den utifrån vad den flaggarRådgivande
- 4Aktivera blockering i ett projektBlockerandeEtt projekt
- 5Rulla ut den till fler projektBlockerandeFler projekt
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.