다음을 통해 공유


Ruby 앱 빌드 및 테스트

Azure DevOps Services

Azure Pipelines를 사용하여 Ruby 애플리케이션을 빌드, 테스트 및 배포하는 방법을 알아봅니다.

Azure Pipelines 만들기

다음 단계에 따라 Ruby 앱에 대한 파이프라인을 설정합니다.

  1. Azure DevOps 조직에 로그인하고, 프로젝트로 이동합니다.

  2. 파이프라인>새 파이프라인으로 이동합니다.

  3. 소스 코드의 위치로 GitHub를 선택합니다.

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

  4. Ruby 샘플 리포지토리를 선택합니다.

  5. 파이프라인용 Ruby 템플릿을 선택하세요.

  6. YAML 파일이 생성됩니다. 저장 및 실행을 선택하고 >을 한 다음 저장 및 실행을 다시 선택합니다.

  7. 실행이 끝날 때까지 기다리세요.

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

팁 (조언)

이 문서에 설명된 YAML 파일을 변경하려면 파이프라인 페이지에서 파이프라인을 선택한 다음, 파일 편집azure-pipelines.yml 선택합니다.

빌드 환경

Azure Pipelines를 사용하여 자체 인프라를 설정하지 않고도 Ruby 프로젝트를 빌드할 수 있습니다. Ruby는 Azure Pipelines의 Microsoft 호스팅 에이전트 에 미리 설치됩니다. Linux, macOS 또는 Windows 에이전트를 사용하여 빌드를 실행할 수 있습니다.

미리 설치된 정확한 Ruby 버전은 Microsoft 호스팅 에이전트를 참조하세요. Microsoft 호스팅 에이전트에 특정 버전의 Ruby를 설치하려면 파이프라인의 시작 부분에 Ruby 버전 사용 태스크를 추가합니다.

특정 Ruby 버전 사용

Ruby 버전 사용 태스크를 추가하여 파이프라인에서 Ruby 버전을 설정합니다. 이 코드 조각은 경로에 Ruby 3.4 이상을 추가하고 이를 사용하도록 후속 파이프라인 작업을 설정합니다.

pool:
  vmImage: 'ubuntu-latest' 

steps:
- task: UseRubyVersion@0 
  inputs:
    versionSpec: '>= 3.4' 
    addToPath: true
  displayName: 'Set Ruby version'

Rails 설치

Rails를 설치하려면 파일에 다음 코드 조각을 추가합니다 azure-pipelines.yml .

- script: gem install rails && rails -v
  displayName: 'Install Rails'

종속성 설치

azure-pipelines.yml 파일에 다음 코드 조각을 추가하여 Bundler로 종속성을 설치하십시오.

- script: |
    gem install bundler
    bundle install --retry=3 --jobs=4
  displayName: 'Install dependencies with Bundler'

레이크 실행

Gemfile에 정의된 대로 현재 번들의 컨텍스트에서 Rake를 실행하려면 다음 코드 조각을 azure-pipelines.yml 파일에 추가합니다.

- script: bundle exec rake
  displayName: 'bundle exec rake'

테스트 결과 게시

샘플 코드에는 RSpec으로 작성된 단위 테스트가 포함됩니다. Rake가 이전 단계에서 실행되면 RSpec 테스트를 실행합니다. Rakefile의 RSpec RakeTask는 RspecJUnitFormatter를 사용하여 JUnit 스타일 결과를 생성하도록 구성됩니다.

테스트 결과 게시 태스크를 추가하여 JUnit 스타일 테스트 결과를 서버에 게시합니다.

- task: PublishTestResults@2
  condition: succeededOrFailed()
  inputs:
    testResultsFiles: '**/test-*.xml'
    testRunTitle: 'Ruby tests'

코드 검사 결과 게시

샘플 코드는 SimpleCov 를 사용하여 단위 테스트가 실행되면 코드 검사 데이터를 수집합니다. SimpleCov는 Cobertura 및 HTML 보고서 포맷터를 사용하도록 구성됩니다.

코드 검사 결과 게시 태스크를 추가하여 코드 검사 결과를 서버에 게시합니다. 이렇게 하면 빌드 요약에서 검사 메트릭을 보고 추가 분석을 위해 HTML 보고서를 다운로드할 수 있습니다.

- task: PublishCodeCoverageResults@2
  inputs:
    codeCoverageTool: Cobertura
    summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml'
    reportDirectory: '$(System.DefaultWorkingDirectory)/**/coverage'
    failIfCoverageEmpty: true 

이미지 빌드 및 컨테이너 레지스트리에 푸시

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