C# git 팁: git hook을 사용하여 코드 테스트

2946 단어 gitcsharphook
Visual Studio를 사용하여 C# 앱을 개발하지만 일반적으로 Visual Studio git 도구 대신 git cli를 사용하여 git 명령을 실행합니다.

이 작업을 수행하는 데 큰 문제는 없지만 때때로 문제가 발생합니다. 예를 들어:
  • Visual Studio가 csproj 파일을 자동으로 저장하지 않고 이전에 저장하는 것을 잊었습니다git commit.
  • 보통 dotnet builddotnet test 를 실행하는데 가끔 확인을 잊을 때가 있어요

  • 두 경우 모두 클라우드에서 CI 오류가 발생하는 것을 보니 당황스럽습니다.

    자식 후크



    그런 경우 git hook을 사용하여 실행하기 직전에 빌드 및 테스트를 실행할 수 있습니다git commit.

    1. .git/hooks 폴더로 이동하여 pre-commit.sample 파일을 복사합니다.

    2. 이름을 pre-commit로 바꿉니다.

    3. 코드를 교체합니다.

    #!/bin/sh
    
    echo "dotnet build"
    
    dotnet clean; dotnet build
    rc=$?
    
    if [[ $rc != 0 ]] ; then
        echo -e "build failed"
        exit $rc
    fi
    
    dotnet "dotnet test"
    
    rc=$?
    
    if [[ $rc != 0 ]] ; then
        echo -e "test failed"
        exit $rc
    fi
    
    exit 0
    


    4. 파일을 저장합니다.

    커밋 테스트



    이제 변경 사항을 추가하고 커밋할 수 있습니다. 그런 다음 내 코드가 괜찮은지 확인하기 위해 스크립트가 실행됩니다.

    사용 사례



    다음과 같은 많은 사용 사례가 있습니다.
  • 빌드
  • 테스트
  • 형식
  • 댓글 확인 등

  • 프로젝트마다 요구 사항이 다를 수 있으므로 요구 사항에 맞게 파일을 간단히 수정할 수 있습니다.

    파워셸?



    PowerShell을 선호한다면 간단히 사용할 수 있습니다. 이를 수행하는 쉬운 방법 중 하나는 PowerShell 스크립트가 포함된 ps1 파일을 만들고 사전 커밋에서 호출하는 것입니다.

    #!/bin/sh
    echo "# start some PS script"
    exec powershell.exe -NoProfile -ExecutionPolicy Bypass -file "the.ps1"
    
    exit
    


    이것에 대한 훌륭한 기사가 있습니다. Automation of your GIT repository via GIT hooks and PowerShell scripts

    좋은 웹페이지 즐겨찾기