Sobes.tech
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:

  1. Telepítés és konfigurálás: A kiválasztott eszközt add hozzá a projekt függőségeihez (például requirements.txt vagy pyproject.toml) és konfiguráld a konfigurációs fájlt (például mypy.ini).
  2. 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.
  3. 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.
  4. 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.