연습 - 에이전트를 사용하여 애플리케이션 빌드

완료됨

빌드 에이전트가 실행 중이고 빌드 작업을 받을 준비가 되었으므로, 빌드가 실행되는 모습을 살펴보겠습니다. 이 단원에서는 Microsoft 호스팅 에이전트가 아닌 여러분의 에이전트를 사용하여 Space Game 웹 사이트를 빌드하도록 기본 빌드 구성을 수정합니다.

참고 항목

이전 모듈 Azure에서 실행되는 빌드 에이전트 만들기 단계를 수행한 직후에 다음 단계를 실행합니다.

이 단원의 끝에서는 선택적 단계로 Microsoft Azure DevOps 조직에서 에이전트 풀을 제거할 수 있습니다.

GitHub에서 분기 가져오기

이 섹션에서는 GitHub에서 build-agent 분기를 페치하여 해당 분기로 체크 아웃하거나 전환합니다.

이 분기에는 이전 모듈에서 작업한 Space Game 프로젝트와 새로 시작할 Azure Pipelines 구성이 포함되어 있습니다.

  1. Visual Studio Code에서 통합 터미널을 엽니다.

  2. Microsoft 리포지토리에서 git checkout라는 분기를 다운로드하고 해당 분기로 전환하려면 다음 build-agentgit fetch 명령을 실행합니다.

    git fetch upstream build-agent
    git checkout -B build-agent upstream/build-agent
    

    upstream은 Microsoft GitHub 리포지토리를 나타냅니다. 프로젝트의 Git 구성은 upstream 원격을 이해합니다. Microsoft 리포지토리에서 프로젝트를 포크하고 로컬에 복제할 때 해당 관계를 설정했기 때문입니다.

    잠시 후에 이 분기를 origin이라는 GitHub 리포지토리로 푸시합니다.

  3. 경우에 따라 Visual Studio Code에서 azure-pipelines.yml 파일을 열고 초기 구성을 숙지합니다.

    이 구성은 Azure Pipelines를 사용하여 빌드 파이프라인 만들기 모듈에서 만든 기본 구성과 비슷합니다. 이 구성은 애플리케이션의 릴리스 구성만 빌드합니다.

빌드 구성 수정

이 섹션에서는 사용하는 에이전트를 Microsoft 호스팅 에이전트에서 빌드 풀의 에이전트로 전환하도록 빌드 구성을 수정합니다.

  1. Visual Studio Code에서 azure-pipelines.yml 파일을 열고 pool 섹션을 찾습니다.

    pool:
      vmImage: 'ubuntu-20.04'
      demands:
      - npm
    
  2. 아래 표시된 것처럼 pool 섹션을 수정합니다.

    pool:
      name: 'MyAgentPool'
      demands:
      - npm
    

    이 버전은 name을 사용하여 에이전트 풀 MyAgentPool을 지정합니다. 이 명령은 demands 섹션을 유지하여 빌드 에이전트에 Node.js 패키지 관리자인 npm이 설치되도록 지정합니다.

  3. 통합 터미널에서 azure-pipelines.yml을 인덱스에 추가하고, 변경 내용을 커밋하며, 분기를 GitHub로 푸시합니다.

    git add azure-pipelines.yml
    git commit -m "Use private agent pool"
    git push origin build-agent
    

Azure Pipelines가 빌드 에이전트를 사용하는 모습 관찰

빌드 에이전트를 사용하여 파이프라인에서 빌드가 실행되는 모습을 살펴보겠습니다.

  1. Azure DevOps에서 Space Game - web - Agent 프로젝트로 이동합니다.

  2. 프로젝트 페이지 또는 왼쪽 창에서 파이프라인을 선택합니다.

  3. 최근에 실행한 파이프라인에서 파이프라인을 선택하고 가장 최근 실행(MyAgentPool 풀을 사용하도록 파이프라인을 업데이트할 때 시작된 실행)을 선택합니다.

  4. 작업을 선택하고 각 단계를 통해 실행을 추적합니다.

    작업 초기화 작업에서 빌드가 빌드 에이전트를 사용하는 것을 확인할 수 있습니다.

    A screenshot of Azure Pipelines running the build. The Initialize job task shows that it's running the build on the private agent named MyLinxuAgent.

선택 사항: 빌드 풀 제거

향후 참조를 위해 Azure DevOps 조직에서 빌드 풀 구성을 유지할 수 있지만 이 모듈을 마칠 때 정리 단계를 수행한 후에는 에이전트를 호스트하는 VM을 더 이상 사용할 수 없습니다.

Azure DevOps는 에이전트가 오프라인 상태임을 감지합니다. Azure Pipelines는 다음에 MyAgentPool 풀을 사용하여 빌드를 큐에 추가할 때 사용 가능한 에이전트를 확인합니다.

A screenshot of the agent pool in Azure DevOps showing that the build agent is offline.

선택적 단계로, Azure DevOps에서 빌드 풀 구성을 제거할 수 있습니다. 방법은 다음과 같습니다.

  1. Azure DevOps에서 Space Game - web - Agent 프로젝트로 이동합니다.

  2. 프로젝트 설정을 선택합니다.

  3. 파이프라인 아래에서 에이전트 풀을 선택합니다.

    A screenshot of the project settings in Azure DevOps showing the location of the Agent pools menu item.

  4. MyAgentPool에서 휴지통 아이콘을 선택한 다음, 삭제를 선택합니다.

    A screenshot of Azure DevOps showing the location of where to remove the agent from the agent pool.