Onion Information
Kontinuirana integracija korištenjem GitLaba - GASERI
Pored posluživanja Git repozitorija i povezanih usluga, GitLab nudi i funkcionalnost kontinuirane integracije, isporuke i implementacije (engl. continuous integration, delivery and deployment, kraće CI/CD)
Onion Details
Page Clicks: 0
First Seen: 03/15/2024
Last Indexed: 10/25/2024
Onion Content
Preskoči na sadržaj Kontinuirana integracija korištenjem GitLaba Pored posluživanja Git repozitorija i povezanih usluga , GitLab nudi i funkcionalnost kontinuirane integracije, isporuke i implementacije (engl. continuous integration, delivery and deployment , kraće CI/CD). Kontinuirana integracija omogućuje nam izgradnju, testiranje i pokretanje softvera u čistoj okolini, što nam pomaže pronaći probleme kod integracije promjena koji developeru možda promaknu dok radi u razvojnoj okolini. GitLab omogućuje korištenje Docker kontejnera ili vlastitih (virtualnih) računala u kojima se izvodi GitLab Runner . Korištenje CI/CD u besplatnoj verziji GitLaba ograničeno je na 400 minuta mjesečno od rujna 2020. godine , što je sasvim dovoljno za eksperimentiranje i edukaciju. Konfiguracija kontinuirane integracije Recimo da imamo repozitorij u kojem postoje datoteke: program.py koja sadrži program biblioteka.py koja sadrži funkcije test_biblioteka.py koja sadrži testove funkcija iz datoteke biblioteka.py koji se pokreću korištenjem pytesta Kako bismo uključili kontinuiranu integraciju, na GitLabu je potrebno u tom repozitoriju stvoriti datoteku .gitlab-ci.yml ( više detalja o formatu YAML ) s postavkama za testiranje ( test: ) i pokretanje ( run: ). Moguće je koristiti predložak za Python koji GitLab nudi. U našem slučaju postavit ćemo da datoteka bude oblika: # This file is a template, and might need editing before it works on your project. # Official language image. Look for the different tagged releases at: # https://hub.docker.com/r/library/python/tags/ image : python:latest # Change pip's cache directory to be inside the project directory since we can # only cache local items. variables : PIP_CACHE_DIR : "$CI_PROJECT_DIR/.cache/pip" # Pip's cache doesn't store the python packages # https://pip.pypa.io/en/stable/reference/pip_install/#caching # # If you want to also cache the installed packages, you have to install # them in a virtualenv and cache it as well. cache : paths : .cache/pip - venv/ before_script : python -V # Print out python version for debugging - pip install virtualenv - virtualenv venv - source venv/bin/activate test : script : pip install pytest - venv/bin/pytest run : script : python program.py Uočimo da se kod testiranja instalira i pokreće pytest , a kod pokretanja sam program.py . Odmah nakon commitanja ove datoteke u repozitorij GitLab će pokrenuti navedene poslove, a njihov rezultat možemo pratiti na GitLabu na stranici repozitorija u odjeljku CI/CD : stranice Pipelines i Jobs . Author: Vedran Miletić