GitLab FI

GitLab Continuous Integration

GitLab Continuous Integration (CI) slouží k automatizaci některých úkolů při vývoji v repozitáři, nejčastěji pro automatické jednotkové testování. Pro použití GitLab CI lze nakonfigurovat svůj vlastní fyzický nebo virtuální stroj (viz virtualizace Stratus.FI). Navíc lze také použít fakultní stroj gitlab-ci.fi.muni.cz.

Shrnutí

Fakultní gitlab-ci.fi používá oficiální GitLab Runner s kontejnerovou izolací ve službě Docker. Po spuštění nového úkolu (např. po git push do repozitáře) GitLab Runner požádá Docker o vytvoření nového kontejneru z obrazu, který je deklarován v repozitáři v souboru .gitlab-ci.yml. Do kontejneru se naklonuje repozitář a spustí se úkoly popsané ve zmíněném souboru. Po skončení se kontejner zruší a výsledek se vrátí GitLabu, který jej zobrazí v sekci CI/CD.

Konfigurace projektu pro gitlab-ci.fi.muni.cz

Nejdříve si přečtěte úvodní informace pro používání GitLab CI/CD. Dále budete potřebovat dokumentaci ke .gitlab-ci.yml.

Docker je nakonfigurován tak, aby neinstaloval automaticky všechny požadované obrazy, ale používal pouze ty lokálně dostupné. Tímto způsobem se zamezí nadměrnému instalování různých verzí obrazů, které by rychle zaplnili diskovou kapacitu stroje.

Seznam obrazů dostupných pro fakultní GitLab CI naleznete v aplikaci Fakultní administrativy.

Používaný obraz se deklaruje v .gitlab-ci.yml konfiguraci jako hodnota klíče image. Formát je buď REPOSITORY:TAG nebo REPOSITORY (výchozí značka se pak použije latest). Pokud nezadáte žádný obraz, použije se alpine:latest.

image: maven:latest

Pokud je to možné, používejte obrazy se značkou latest nebo alespoň co nejobecnější verzi (např. 3-jdk-8 místo 3.5.0-jdk-8). V případe aktualizace obrazů budou totiž starší verze smazány, pokud bude docházet volné místo na disku.

Aby se stroj nezatěžoval úkoly z repozitářů, které mají nastavené vlastní CI, akceptuje gitlab-ci.fi úkoly pouze z těch projektů, které jsou označené značkou shared-fi, což lze nastavit následovně:

Ve fakultním GitLab FI se můžete podívat do projektu unix/ci-examples, kde naleznete příklady konfigurace CI pro jednoduché projekty.

Instalace dalších obrazů

O instalaci dalších obrazů nebo verzí žádejte na adrese unix@fi.muni.cz, kde uveďte, k čemu budete obraz používat.

Pokud chcete nainstalovat vlastní nebo upravený obraz, přiložte k žádosti navíc i Dockerfile a všechny potřebné soubory pro sestavení obrazu. Správci obraz sestaví a nainstalují do Dockeru.