Azure Pipeline에서 다른 조직의 Azure Repos (git)로 푸시하는 방법

개요



아래 그림과 같이 Azure DevOps의 기능인 Azure Pipeline에서 다른 조직의 Azure Reps(Git)로 푸시하는 방법을 공유합니다. 비슷한 절차를 통해 다른 테넌트의 Azure DevOps에도 적응할 수 있습니다.



사전 준비


  • 두 개의 Azure DevOps 조직 만들기
  • 각 조직에서 프로젝트 만들기

  • 절차


  • 푸시 대상 프로젝트(위 그림에서 조직 B)에서 "User Setting"→"Personal access tokens"를 선택.



  • 2. "New Token"선택



    3. 아래 표와 같이 입력하고 "OK"를 선택. 표시되는 액세스 키를 기억하십시오.


    품목
    설정값


    이름
    ※알기 쉬운 명칭을 입력

    조직
    ※푸시처 조직명을 선택

    코드
    "Read & wire"확인




    4. "Pipelines"를 선택한 후 "Create Pipeline"을 선택.


    5. "Azure Repos Git"을 선택합니다.



    6. 푸시할 리포지토리를 선택합니다.



    7. "Stater pipeline"을 선택합니다.



    8. 아래 코드를 붙여 변수의 값을 설정


    변수



    TmpRepoDir
    _repo

    UserName
    ※ 커밋할 사용자 이름

    OrganizationName
    ※푸시처의 조직명

    ProjectName
    ※푸시처의 프로젝트명

    RepositoryName
    ※푸시처의 리포지토리명

    # Starter pipeline
    # Start with a minimal pipeline that you can customize to build and deploy your code.
    # Add steps that build, run tests, deploy, and more:
    # https://aka.ms/yaml
    variables:
      TmpRepoDir: _repo
      UserName: ryoma.nagata
      OrganizationName: import-git
      ProjectName: import-git
      RepositoryName: repository-from-otherorganizationname
    
    trigger:
    - master
    
    pool:
      vmImage: 'ubuntu-latest'
    
    steps:
    - script: |
         cd /tmp && rm -rf /tmp/$(TmpRepoDir)
         git -c http.extraheader="AUTHORIZATION: bearer $(System.AccessToken)" clone --mirror $(Build.Repository.Uri) $(TmpRepoDir)
         git -C /tmp/$(TmpRepoDir) push --mirror https://$(UserName):$(secreat_repos)@dev.azure.com/$(OrganizationName)/$(ProjectName)/_git/$(RepositoryName)
      displayName: 'Copy to Azure DevOps Repos'
    

    9. 오른쪽 상단의 "Variables"를 선택합니다.



    10. "New variable"을 선택합니다.



    11. 아래의 입력을 하고 "OK"→"Save"를 선택.


    품목



    이름
    secreat_repos

    Value
    ※3의 순서로 취득한 토큰 키를 입력한다.

    Keep this value secret
    확인하십시오.




    12. 오른쪽 상단의 "Save and run"을 선택합니다.



    13. 적절한 입력을 수행하고 "Save and run"을 선택합니다.



    14. 작업이 완료된 후 푸시 대상 리포지토리에 코드가 있는지 확인합니다.

    좋은 웹페이지 즐겨찾기