CI tip: Neočekávejte
|
Jednou z dobrých praktik v Continuous Integration je, nemít žádná očekávání. Repository musí obsahovat vše, co vývojář potřebuje k bezproblémovému vývoji. Ok, minimální subset jako OS a SDK předpokládat můžeme. Ale nic nám nebrání v tom, připravit script, který potřebná SDK a nástroje nainstaluje a nastaví.
Malý příklad z praxe
Vezměme si reálný scénář. V teamu máme lokální nuget server, kde jsou k dispozici balíčky s interními komponentami. Pro správný chod musí mít každý nastavenou adresu lokálního serveru ve zdrojích ve svém Visual Studiu, každý nový vývojář si to musí nastavit. Jinak se balíčky neaktualizují. Kde takovou informaci udržovat? Má být ve wiki, kterou nikdo nečte? Má být v readme
souboru v repository? Nejlepší je najít automatické řešení, na které už nikdo nemusí myslet!
NuGet například umožňuje definovat vlastní zdroje v konfiguračním souboru, který se vztahuje k projektu. Jednou do repository přidáte tento soubor a máte vystaráno. Všichni kdo si otevřou projekt mají již vlastní zdroj balíčků nakonfigurovaný, aniž by museli něco řešit. A to jen pro aktuální projekt. Takže je to řešení nejen nevyžadující aktivitu, ale je i celkem čisté. Win win situace.
A navíc to funguje i na integračním serveru, protože ten je taky součástí teamu. ;)