Detta är en kort förenklad guide till hur du integrerar ditt Git repo på GitHub/GitLab med byggtjänsterna Travis och Scrutinizer.
Syftet är främst att visa de konfigurationsfiler som fungerar för Travis respektive Scrutinizer.
I övningen "Integrera din packagist modul med verktyg för automatisk test och validering" finns en mer komplett bild av hur du gör.
Du har ett Git repo som du huserar på GitHub/GitLab.
I ditt repo kan du installera en utvecklingsmiljö och köra tester mot repo. Detta kan du ha implementerat i tex i en Makefile.
# Installera en utvecklingsmiljö
make install
# Bra vid felsökning för att visa vilka versioner som är installerade
make check
# Köra enhetstesterna och generera kodtäckning till filen
# "build/coverage.clover" (eller liknande)
make phpunit
# Köra alla testerna
make test
Att integrera byggtjänsterna mot enhetstester som går mot en databas är ren överkurs och inget som hanteras.
Tjänsten är Travis CI (notera att det är .com och inte .org).
Du kan använda gitt konto från GitHub (eller liknande) för att logga in på Travis.
Länka ihop Travis med dina repon på GitHub/GitLab.
Glöm inte dokumentationen.
Lägg till en konfigurationsfil .travis.yml
(se exempel på konfigurationsfil för Travis) i ditt repo.
Läs mer om konfigurationsfilen för PHP.
Justera vilka versioner av PHP du vill testa mot och hur du installerar utvecklingsmiljön och kör testerna.
Committa och pusha till GitHub/GitLab.
Travis kommer nu att bli notifierad och checkar ut ditt repo och utför instruktionerna enligt konfigurationsfilen.
Exempel på hur en badge kan se ut för ett repo som byggs på Travis.
Tjänsten är Scrutinizer CI.
Du kan använda gitt konto från GitHub (eller liknande) för att logga in på Scrutinizer.
Länka ihop Scrutinizer med ett av dina repon på GitHub/GitLab.
Glöm inte dokumentationen.
Lägg till en konfigurationsfil .scrutinizer.yml
(se exempel på konfigurationsfil för Scrutinizer) i ditt repo.
Läs mer om konfigurationsfilen för PHP.
Justera vilken versioner av PHP du vill testa mot och hur du installerar utvecklingsmiljön och kör testerna. Dubbelkolla även vilka sökvägar som exkluderas från körningen.
Committa och pusha till GitHub/GitLab.
Scrutinizer kommer nu att bli notifierad och checkar ut ditt repo och utför instruktionerna enligt konfigurationsfilen.
Exempel på hur olika badges kan se ut för ett repo som byggs på Scrutinizer.
Varje tjänst jobbar mot de triggers de får av GitHub/GitLab.
Du kan manuellt trigga en build eller rebuild av en specifik commit.
Bekanta dig med de loggar som tjänsterna producerar, de kan hjälpa dig att förstå varför din build misslyckas.
Vissa tjänster tillåter att man kopplar upp sig med en ssh-inloggning till ett pågående bygge, det kan vara en bra möjlighet att felsöka och dubbelkolla hur miljön är på byggservern.
Formatet för konfigurationsfilerna är YAML.