다음을 통해 공유


Go 프로젝트 빌드 및 테스트

Azure DevOps Services

Azure Pipelines를 사용하여 Go 프로젝트를 자동으로 빌드, 테스트 및 배포합니다. 이 문서에서는 리포지토리에 변경 내용을 푸시할 때마다 Go 코드를 빌드하고 테스트하는 파이프라인을 만드는 방법을 보여 줍니다.

필수 조건

  • Azure DevOps 조직 및 프로젝트. 체험 계정 만들기
  • GitHub 또는 Azure 리포지토리의 Go 프로젝트입니다. 프로젝트가 없는 경우 이 문서에 제공된 샘플 리포지토리를 사용할 수 있습니다.

첫 번째 파이프라인 만들기

Azure Pipelines를 새로 사용하시겠습니까? 다른 섹션으로 이동하기 전에 이 섹션을 시도해 보세요.

GitHub에서 다음 리포지토리를 포크합니다.

https://github.com/MicrosoftDocs/pipelines-go

Azure Pipelines 로그인

Azure Pipelines에 로그인합니다. 로그인하면 브라우저가 https://dev.azure.com/my-organization-name으로 이동하여 Azure DevOps 대시보드를 표시합니다.

  1. 브라우저에서 dev.azure.com 이동하여 로그인합니다.
  2. 조직을 선택합니다.
  3. 조직에서 첫 번째 프로젝트를 만드는 경우 새 프로젝트를 선택하거나 프로젝트 만들기 를 선택하여 새 프로젝트를 만듭니다.
  4. 프로젝트 이름을 입력합니다.
  5. 프로젝트의 표시 유형을 선택합니다.
  6. 선택하고생성합니다.

파이프라인 만들기

  1. Azure DevOps 프로젝트의 왼쪽 탐색 메뉴에서 파이프라인 을 선택합니다.

  2. 파이프라인 을 선택하거나 이 파이프라인이 프로젝트의 첫 번째 파이프라인인 경우 파이프라인 만들기 를 선택합니다.

  3. 코드의 위치 화면에서 GitHub를 선택합니다.

  4. 로그인할 GitHub로 리디렉션될 수 있습니다. 그렇다면 GitHub 자격 증명을 입력합니다.

  5. 리포지토리 선택 화면에서 .NET 앱이 있는 리포지토리를 선택합니다.

  6. Azure Pipelines 앱을 설치하도록 GitHub로 리디렉션될 수 있습니다. 그렇다면 승인 및 설치를 선택합니다.

구성 탭이 나타나면 이동을 선택합니다. 새로운 파이프라인이 나타나고, azure-pipelines.yml YAML 파일이 구성할 준비가 되어 있습니다. 파이프라인을 사용자 지정하는 보다 일반적인 방법 중 일부를 알아보려면 다음 섹션을 참조하세요.

빌드 환경

Azure Pipelines를 사용하여 자체 인프라를 설정하지 않고 Go 프로젝트를 빌드할 수 있습니다. Linux, macOS 또는 Windows 에이전트를 사용하여 빌드를 실행할 수 있습니다.

파일에서 azure-pipelines.yml 다음 코드 조각을 업데이트하여 적절한 이미지를 선택합니다.

pool:
  vmImage: 'ubuntu-latest'

최신 버전의 Go는 Microsoft 호스팅 에이전트에 사전 설치되어 있습니다. 사전 설치된 Go의 정확한 버전은 Azure Pipelines에서 Microsoft 호스팅 에이전트를 참조하세요.

Go 설치

중요합니다

Go 버전 지원: Go 프로젝트는 더 이상 1.11 이전의 Go 버전을 유지 관리하지 않으며 이러한 버전은 보안 업데이트를 받지 않습니다. Microsoft 호스팅 에이전트에는 현재 지원되는 Go 버전만 포함됩니다. 프로젝트에서 Go 1.10 이하를 사용하는 경우 기본 제공 모듈 지원, 보안 패치 및 성능 향상을 활용하려면 Go 1.21 이상으로 업그레이드합니다. 버전 지원 세부 정보는 Go 릴리스 기록을 참조하세요.

Go 1.11부터는 더 이상 환경 변수를 $GOPATH 정의하거나, 작업 영역 레이아웃을 설정하거나, 모듈을 dep 사용할 필요가 없습니다. 이제 Go 모듈을 사용하여 종속성 관리가 기본 제공되었습니다.

이 YAML은 go get Go 패키지 및 해당 종속성을 다운로드하는 명령을 구현합니다. 그런 다음 go build을(를) 사용하여 PublishBuildArtifacts@1 작업이 게시하는 콘텐츠를 생성합니다.

trigger: 
 - main

pool:
   vmImage: 'ubuntu-latest'

steps: 
- task: GoTool@0
  inputs:
    version: '1.22'  # Use a currently supported Go version
- task: Go@0
  inputs:
    command: 'get'
    arguments: '-d'
    workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: Go@0
  inputs:
    command: 'build'
    workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: CopyFiles@2
  inputs:
    TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
  inputs:
     artifactName: drop

빌드

Go 프로젝트를 빌드하기 위해 go build을(를) 사용하세요. 파일에 다음 코드 조각을 추가합니다 azure-pipelines.yml .

- task: Go@0
  inputs:
    command: 'build'
    workingDirectory: '$(System.DefaultWorkingDirectory)'

테스트

Go 모듈 및 해당 하위 디렉터리(go test)를 테스트하는 데 사용합니다./.... 파일에 다음 코드 조각을 추가합니다 azure-pipelines.yml .

- task: Go@0
  inputs:
    command: 'test'
    arguments: '-v'
    workingDirectory: '$(System.DefaultWorkingDirectory)'

준비가 되면 새 azure-pipelines.yml 파일을 리포지토리에 커밋하고 커밋 메시지를 업데이트합니다. 저장 및 실행을 선택합니다.

새 YAML 파이프라인의 저장 및 실행 단추

파이프라인의 작동을 감시하려면 Azure Pipelines 대시보드의 작업 옵션에서 빌드를 선택합니다. Azure Pipelines 작업 옵션을 선택하면 파이프라인 빌드가 작동합니다.

코드가 Go 템플릿과 일치하는 것처럼 보였기 때문에 Azure Pipelines는 파이프라인을 자동으로 만들었습니다.

이제 리포지토리에 사용자 지정할 준비가 된 YAML 파이프라인(azure-pipelines.yml)이 있습니다.

파이프라인을 변경할 준비가 되면 파이프라인 페이지에서 해당 파이프라인을 선택한 다음 파일을 편집합니다azure-pipelines.yml.

팁 (조언)

이 문서에 설명된 대로 YAML 파일을 변경하려면 파이프라인 페이지에서 파이프라인을 선택한 다음 편집 을 선택하여 파일에 대한 azure-pipelines.yml 편집기를 엽니다. 더 많은 옵션이 선택되고 편집이 강조 표시된 대시보드에서 Azure Pipeline을 편집하는 방법을 보여 주는 스크린샷

이미지를 빌드하고 Azure Container Registry로 푸시

Go 앱의 경우 이미지를 빌드 하고 컨테이너 레지스트리에 푸시할 수도 있습니다.