Middle+
Hogyan lehet beépíteni a típusellenőrzést a CI/CD folyamatba?
sobes.tech MI
Válasz az MI-től
A típusellenőrzés CI/CD-be való beépítése statikus kódanalizáló eszközökkel, például MyPy, Pyright vagy Pytype valósítható meg. Ezek az eszközök a CI/CD pipeline build vagy teszt szakaszában futnak.
Integrációs lépések:
- Telepítés és konfigurálás: A kiválasztott eszközt add hozzá a projekt függőségeihez (például
requirements.txtvagypyproject.toml) és konfiguráld a konfigurációs fájlt (példáulmypy.ini). - Lépés hozzáadása a CI/CD-hez: A CI/CD konfigurációs fájlban (például
.github/workflows/main.yml,.gitlab-ci.yml,azure-pipelines.yml) adj hozzá egy külön lépést (job vagy step), amely végrehajtja a típusellenőrzést a kiválasztott eszközzel. - Futtatás és eredmények elemzése: A CI/CD minden kódváltoztatásnál futtatja ezt a lépést. Ha az eszköz hibát talál a típusokban, a lépés hibával zárul, és az egész pipeline leáll, megelőzve a hibás kód deploy-olását.
- Jelentések: Néhány CI/CD platform és statikus elemző eszköz lehetővé teszi a típushibák jelentéseinek generálását, amelyeket a CI/CD felületén lehet megtekinteni.
Példa a GitHub Actions MyPy lépésére:
name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Python 3.9 beállítása
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Függőségek telepítése
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install mypy pytest
- name: MyPy futtatása
run: mypy . # A jelenlegi könyvtárban futtatja a MyPy-t
- name: Tesztek futtatása
run: pytest # A tesztek futtatása
Ez az integráció biztosítja, hogy a hibás típusú kód ne kerüljön a gyártási környezetbe, növelve a megbízhatóságot és a fejlesztett alkalmazás minőségét.