Skip to content

Template para o CI/CD do Kedro

Abaixo, você encontra um template para criar pipelines de CI/CD para projetos Kedro no GitLab. Este template inclui a instalação de dependências, a execução de testes e a execução de pre-commit (Apenas para o último commit).

Importante: Note que para executar o great_expectations é necessário configurar as variaveis de ambiente do ci/cd, para isso navegue até o seu projeto no Gitlab e vá em: Settings > CI/CD > Variables. Adiocione uma "CI/CD Variables" onde a key deverá ser referenciado da mesma forma que no template, ex: "ASSET_DB_CONN" ou "ADVISORY_DB_CONN", já o campo value é a sua conexão no banco, tenha certeza de desmarcar a opção de Protect variable para que o ci/cd possa executar apropriadamente.

stages:
  - test

image: python:3.9

before_script:
  - python -V
  - pip install --upgrade pip

install_and_test:
  stage: test
  script:
    - pip install -r src/requirements.txt
    # Execucao do kedro
    - kedro test
    # Execucao do pre commit
    - git diff --name-only HEAD~1 | xargs pre-commit run --files
    # configuracao e execucao do great expectations
    - mkdir -p great_expectations/uncommitted/
    - |
      echo "asset_db_conn: \"$ASSET_DB_CONN\"" > great_expectations/uncommitted/config_variables.yml
      echo "advisory_db_conn: \"$ADVISORY_DB_CONN\"" >> great_expectations/uncommitted/config_variables.yml
    - CHECKPOINTS=$(great_expectations checkpoint list | awk '{print $1}' | tail -n +3)
    - for CHECKPOINT in $CHECKPOINTS; do great_expectations checkpoint run $CHECKPOINT; done

Este template é uma base que pode ser expandida de acordo com as necessidades do seu projeto, observe que as credenciais são automaticamente definidas pois já estão armazenadas no ci/cd do Gitlab. Se você tem tarefas adicionais que deseja executar como parte do seu pipeline de CI/CD, você pode adicioná-las dentro do mesmo job install_and_test.