>

빌드를 여러 에이전트 단계로 분할하여 일부 빌드를보다 효율적으로 만들려고합니다. 첫 번째 단계는 단위 테스트 및 전체를 포함하여 전체 제품을 빌드하고 단위 테스트를 포함하는 아티팩트를 작성하며 두 개 이상의 후속 단계는 단위 테스트 스위트의 다른 부분을 실행합니다.

지금까지는 모든 것이 잘 작동하지만 모든 빌드 에이전트 단계는 첫 번째 단계에만 필요하더라도 git 소스를 가져옵니다. 빌드를 더욱 효율적으로 만들 수있는 또 다른 1½ 분이 걸리고 더욱 효율적으로 만드는 몇 가지 요점을 제거합니다 (단계 당 여러 빌드 에이전트는 모두 1 분 30 분 동안 소스를 가져 오기 때문에 성능을 크게 향상시키지 않습니다) 먼저).

파이프 라인에서 소스 가져 오기 단계에 대한 "소스 동기화 안 함"확인란을 찾았으므로 빌드 단계에서 더 이상 소스를 얻지 못합니다. 그러나 첫 번째 빌드 단계의 소스를 얻고 싶습니다. 이제 수동으로해야합니까?

커맨드 라인 작업에서 소스 가져 오기 단계가 (로그에 따라) 수행하는 것을 모방하려고 시도했지만 제대로 작동하지 않습니다. 또한 명령 줄을 통해 다른 방법으로 git repo를 수동으로 설정하려고 시도했지만 일부 구성에서는 작동하지만 일부는 작동하지 않습니다. 정상적인 브랜치, 중첩 브랜치 및 PR 브랜치에서 작동해야하지만 git이 작업을 올바르게 수행하기 위해 작동하는 방식에 뭔가 빠진 것 같습니다.

올바른 방법으로 Git의 소스 가져 오기 단계를 어떻게 설정합니까?

  • 답변 # 1

    쉬운 방법은 시장에서 Git Repository Downloader 확장을 설치하고 첫 번째 작업에서 사용하는 것입니다.

    다른 옵션은 명령 행 작업을 사용하고 실행하는 것입니다 git clone .

    인증에는 두 가지 옵션이 있습니다.

    <올>

    명령에 비밀번호를 입력하십시오.

    git clone https://username:[email protected]/organization/project/_git/repo

    개인용 액세스 토큰을 작성하여 다음 명령에 넣으십시오.

    git clone https://[email protected]/organization/project/_git/repo

  • 답변 # 2

    다른 사람 이이 질문을 언젠가보고 어떻게하는지 알고 싶다면 이것이 결국 정책 요구 사항에서 Pull Reqest 지점을 수용 할 수있는 결과입니다. 파이프 라인의 명령 줄 작업에서 실행하십시오.

    git -c http.extraheader="AUTHORIZATION: bearer $(System.AccessToken)" clone --progress {REPOPATH} .
    git -c http.extraheader="AUTHORIZATION: bearer $(System.AccessToken)" fetch --force --progress origin +$(Build.SourceBranch):$(Build.SourceBranchName)
    git checkout $(Build.SourceBranchName) --progress
    
    

관련 자료

  • 이전 안드로이드 (java 또는 kotlin)에서 여러 배열을 동일한 첫 번째 또는 마지막 요소와 어떻게 결합 할 수 있습니까?
  • 다음 django - LAN을 통해 서로 보이지 않는 PC의 문제를 해결하는 방법