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
.