GitHub 작업Net 전체 프레임워크: 구축 및 테스트

9192 단어 devopsgithubdotnetci

GitHub 작업을 만들어 구축하고 테스트할 수 있습니까?Net 전체 프레임 항목?


✅ 그래, 우리는 할 수 있어!내가 어떻게 했는지 알려줄게.

우선 배경 지식을 드릴게요.💭


나는 최근에 어쩔 수 없이 하나를 처리해야 한다.Net 전체 프레임 항목
원본 코드는GitHub에서 버전 제어를 하고, 원본 코드를 주 지점에 통합하는 데 사용되는pull 요청과 코드 심사 절차가 있습니다.그러나 통합된 코드를 검증할 수 있는 검사가 없습니다. 단원 테스트를 컴파일하지 않거나 파괴하지 않은 원본 코드가 우리의 주 지점에 포함되고 경보가 울리지 않습니다.
통합 소스 코드의 운행 상황에 대한 신속한 피드백이 부족하기 때문에 인출 요청을 승인하는 동안 개발자들은 새로운 코드를 추가함으로써 삽입하는 문제가 예상보다 더 오래 걸릴 수 있기 때문에 어떤 불안감을 느꼈다.
저희 업무 프로세스를 개선하기 위해서 저는 GitHub Actions을 사용하여 CI 업무 프로세스를 만들어서 원본 코드가 통합되는 동안의 피드백 흐름을 가속화하는 것을 고려합니다.
GitHub 작업documentation을 검토할 때 워크플로우를 만들 템플릿이 없다는 것을 깨달았습니다.Net 전체 프레임 항목그리고 나는 본문 첫머리에 같은 문제를 물었다.

 
Can we create GitHub Actions to Build and Test .Net Full Framework projects?
 


전체 연구 과정에서 나는 일부 정부와 지역사회의 자원을 발견했다.

  • setup-msbuild ;

  • setup-nuget ;

  • Setup-VSTest .
  • 이러한 작업을 통해 고객을 위해 CI 파이프라인을 생성할 수 있습니다.Net 전체 프레임 항목다음 push 파일과 같이 CI 파이핑을 주 브랜치의 각 신규pull request 또는 ci.yml로 트리거하도록 구성합니다.

    창조의 동작을 이해하다


    다음은 ci.yml 파일의 점차적인 해석입니다.



    1. GitHub 작업의 이름 정의


       name: Build and Tests
      

    2. 설정 작업은 push에서 트리거하고 지점pull requests(이 항목의 기본 지점)을 만들어야 합니다main


       on:  
         push:
           branches: [ main ]
         pull_request:
           branches: [ main ]
      

    3. 구축 및 테스트는 우리가 처리하고 있기 때문에 Windows 운영체제에서 실행될 것입니다.Net 전체 프레임워크(다른 운영 체제는 지원되지 않음)


       jobs:  
         build:    
           runs-on: windows-latest
      

    4. 실행되는 모든 단계를 그룹으로 나누는 부분을 정의하고 다음 항목에서 자세히 설명합니다


           steps:      
      

    5. 코드 체크 아웃


             - uses: actions/checkout@v2
      

    6. MSBuild 설치 프로그램, 나중에 사용 가능


             - name: Setup MSBuild
               uses: microsoft/setup-msbuild@v1
      

    7. Nuget 설정, 나중에 사용 가능


             - name: Setup NuGet
               uses: NuGet/[email protected]
      

    8. VSTEst 설정, 나중에 사용 가능


             - name: Setup VSTest
               uses: darenm/Setup-VSTest@v1
      

    9. GitHub 작업공간으로 이동하여 애플리케이션 복구, 구축 및 테스트를 시작합니다


             - name: Navigate to Workspace
               run: cd $GITHUB_WORKSPACE
      

    10. 사용nuget응용 프로그램에서 사용한 패키지 복원


             - name: Restore Packages
               run: nuget restore Sandbox.sln
      

    11. msbuild.exe 발표 모드를 사용하여 솔루션 구축


             - name: Build Solution
               run: |
                 msbuild.exe Sandbox.sln /p:platform="Any CPU" /p:configuration="Release"
      

    12. 사용Sandbox.Tests.dll실행vstest.console.exe하는 테스트


             - name: Run Tests
               run: vstest.console.exe .\tests\Sandbox.Tests\bin\Release\Sandbox.Tests.dll
      

    결실


    CI 파이프를 심은 후 pull request만 열면 우리가 이룬 결과를 볼 수 있습니다


    PR이 켜져 있고 수행 중인 작업


    apull request를 열면 검사가 실행을 기다리고 있는 것을 볼 수 있습니다


    PR 열기, 작업 수행


    이(가) 검사를 수행한 후 PR 페이지에 결과가 표시됩니다.검사가 완료되면 Merge pull request 버튼이 강조 표시됩니다


    수행된 작업에 대한 세부 정보


    "검사"옵션을 분석할 때 우리는 점차적으로 실행 상황을 검증할 수 있습니다

    장애가 발생하면 이 페이지에서 어느 단계가 손상되었는지 확인하고 로그를 분석하여 오류를 식별할 수 있습니다


    궁금한 게 있다면 행동 수행에 대한 세부 사항here you can find a successful executionhere you find a failed execution이 있습니다


    항목


    이 프로젝트에 대해 궁금하십니까?모든 소스 코드를 사용할 수 있는 저장소입니다.




    펠리페토 복지 / dotnet 전체 프레임워크ci모래상자





    GitHub 작업Net 전체 프레임워크:구축 및 테스트



    이 저장소는 프로그램을 구축하고 테스트하기 위해 GitHub 작업을 만드는 방법을 보여 줍니다.Net 전체 프레임 웹 API 프로젝트


    --


    🇧🇷
    O는 리우의 재건을 지원하기 위해 네트워크 API 프로젝트를 통해 조치를 취한다.etapas de Build e Teste da aplicaço












    결론🎯


    남겨진 코드를 처리하는 것은 매우 복잡할 수 있으므로 작업 흐름 개선 건의를 제출하면 신속한 피드백을 장려하고 개발팀에 손해를 끼치는 불안정점을 완화시켜 프로젝트의 현실을 현저하게 변화시킬 수 있습니다


    GitHub 작업은 CI 프로세스를 자동화하는 데 매우 유용한 도구입니다.공식 문서에는 초기 템플릿이 없지만 GitHub 작업을 사용하여 워크플로우를 만들 수 있습니다.Net의 완벽한 프레임워크는 공식 행동과 커뮤니티가 만들고 제공한 행동 덕분입니다


    내 CI 파이프라인을 실행할 수 있도록 제가 몇 가지 일을 했습니다. 만약에 당신이 실시 과정에서 어떤 문제에 부딪혔거나 본문의 평론에서 공유하고 싶다면 기꺼이 도와드리겠습니다


    안녕히 계세요!😉 😘



    ⚠️ 기억해야 할 것은 작업 흐름을 사용하기 전에 작업 흐름과 의존 항목이 그들의 프로젝트 정책에 부합되는지 확인하는 것이 매우 중요하다는 것이다.⚠️

    좋은 웹페이지 즐겨찾기