Создание и тестирование приложений Ruby
Azure DevOps Services
В этой статье объясняется, как автоматически создавать проекты Ruby.
Создание Azure Pipelines
Чтобы настроить конвейер для приложения Ruby, выполните следующие действия.
Войдите в свою организацию Azure DevOps и откройте нужный проект.
Выберите Конвейеры>Новый конвейер.
Выберите GitHub в качестве расположения исходного кода.
Возможно, вам придется выполнить вход в GitHub. Для этого введите учетные данные GitHub.
Выберите пример репозитория Ruby.
Ruby
Выберите шаблон для конвейера.Создается файл YAML. Выберите Сохранить и запустить>фиксацию непосредственно в ветвь main, а затем нажмите кнопку Сохранить и запустить еще раз.
Дождитесь, пока он завершится.
В репозитории есть рабочий YAML-файл (azure-pipelines.yml
), который можно настроить.
Совет
Чтобы внести изменения в ФАЙЛ YAML, как описано в этой статье, выберите конвейер на странице Конвейеры , а затем изменитеazure-pipelines.yml
файл.
Среда сборки
Вы можете использовать Azure Pipelines для создания проектов Ruby без необходимости настраивать собственную инфраструктуру. Ruby предустановлен на агентах, размещенных в Microsoft , в Azure Pipelines. Для запуска сборок можно использовать агенты Linux, macOS или Windows.
Точные версии Ruby, которые предустановлены, см. в разделе Агенты, размещенные в Майкрософт. Чтобы установить определенную версию Ruby на агентах, размещенных в Майкрософт, добавьте задачу Использовать версию Ruby в начало конвейера.
Использование определенной версии Ruby
Добавьте задачу Использовать версию Ruby , чтобы задать версию Ruby, используемую в конвейере. Этот фрагмент добавляет Ruby 2.4 или более поздней версии в путь и задает последующие задачи конвейера для его использования.
# https://learn.microsoft.com/azure/devops/pipelines/ecosystems/ruby
pool:
vmImage: 'ubuntu-latest' # other options: 'macOS-latest', 'windows-latest'
steps:
- task: UseRubyVersion@0
inputs:
versionSpec: '>= 2.5'
addToPath: true
Установка Rails
Чтобы установить Rails, добавьте следующий фрагмент кода в azure-pipelines.yml
файл.
- script: gem install rails && rails -v
displayName: 'gem install rails'
Установка зависимостей
Чтобы использовать Bundler для установки зависимостей, добавьте следующий фрагмент кода в azure-pipelines.yml
файл.
- script: |
CALL gem install bundler
bundle install --retry=3 --jobs=4
displayName: 'bundle install'
Запуск rake
Чтобы выполнить Rake в контексте текущего пакета (как определено в файле Gemfile), добавьте следующий фрагмент в azure-pipelines.yml
файл.
- script: bundle exec rake
displayName: 'bundle exec rake'
Публикация результатов тестирования
Пример кода включает модульные тесты, написанные с помощью RSpec. Когда rake запускается на предыдущем шаге, он запускает тесты RSpec. RSpec RakeTask в Rakefile настроен для получения результатов в стиле JUnit с помощью RspecJUnitFormatter.
Добавьте задачу Публикация результатов теста , чтобы опубликовать результаты тестов в стиле JUnit на сервере. Вы получаете широкие возможности создания отчетов о тестах, которые можно использовать для устранения неполадок при любых неудачных тестах и для анализа времени тестирования.
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: '**/test-*.xml'
testRunTitle: 'Ruby tests'
Публикация результатов покрытия кода
В примере кода используется SimpleCov для сбора данных о покрытии кода при выполнении модульных тестов. Приложение SimpleCov настроено для использования форматировщиков отчетов Cobertura и HTML.
Добавьте задачу Publish Code Coverage Results (Публикация результатов покрытия кода), чтобы опубликовать результаты покрытия кода на сервере. При этом метрики охвата можно увидеть в сводке по сборке, а отчеты HTML можно скачать для дальнейшего анализа.
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml'
reportDirectory: '$(System.DefaultWorkingDirectory)/**/coverage'
Создание образа и отправка в реестр контейнеров
Для приложения Ruby можно также создать образ и отправить его в реестр контейнеров.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по