https://ljvmiranda921.github.io/notebook/2018/06/21/precommits-using-black-and-flake8/
요즘 회사에서 Hot 한 Pre Commit을 한번 제대로 활용해보기 위해 정리하려고 도전~
이미 인터넷에 사용기가 많아서 차근 차근 따라 가면 문제가 없다. ㅎ
참고한 글에서는 git commit 전 black을 code formatter로 활용하고 flake8을 PEP8 checker로 사용하였다.
점선으로된 Framework for pre-commit 에 자신이 넣고 싶은 step을 넣으면 그만이다.
기본 Unit Test나 Pytest를 실행하도록 할 수도 있다.
일단 간단한 샘플 코드 만들어서 아래와 같은 pre-commit을 한번 실습해보자.
사전 준비
1. pre-commit 설치
pip install pre-commit
2 .pre-commit-config.yaml 파일 만들기
repos:
- repo: https://github.com/ambv/black
rev: stable
hooks:
- id: black
language_version: python3.6
exclude: doc/|monitoring/|scripts/|tool/|test/
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v1.2.3
hooks:
- id: flake8
exclude: doc/|monitoring/|scripts/|tool/|test/
- repo: local
hooks:
- id: unit test
name: unit test
entry: python3 -m pytest -v test
language: system
exclude: doc/|monitoring/|scripts/|tool/|test/
types: [python]
3. pre-commit 을 위한 git hooks를 설치
pre-commit install
실행 결과
black 과 flake8 만 적용
pre-commit 에 의해 자동 수정된 부분이 생기고, 다시 이를 add 하면 성공
black + flake8 + unit test 적용
'자습' 카테고리의 다른 글
Django vs. Flask (1) | 2019.09.28 |
---|---|
click을 이용한 python CLI (0) | 2019.09.08 |
파이썬 클린 코드 CH3. 좋은 코드의 일반적인 특징 (0) | 2019.08.17 |
AWS Lambda@Edge (0) | 2019.08.10 |
Python Logging (0) | 2019.07.26 |