Events
Mar 17, 9 PM - Mar 21, 10 AM
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Azure DevOps Services
This article explains how to automatically build Ruby projects.
Do the following steps to set up a pipeline for a Ruby app.
Sign in to your Azure DevOps organization and go to your project.
Select Pipelines > New pipeline.
Select GitHub as the location of your source code.
You might be redirected to GitHub to sign in. If so, enter your GitHub credentials.
Select your Ruby sample repository.
Select the Ruby
template for your pipeline.
A YAML file gets generated. Select Save and run > Commit directly to the main branch, and then choose Save and run again.
Wait for the run to finish.
You have a working YAML file (azure-pipelines.yml
) in your repository that's ready for you to customize.
Tip
To make changes to the YAML file as described in this article, select the pipeline in the Pipelines page, and then Edit the azure-pipelines.yml
file.
You can use Azure Pipelines to build your Ruby projects without needing to set up any infrastructure of your own. Ruby is preinstalled on Microsoft-hosted agents in Azure Pipelines. You can use Linux, macOS, or Windows agents to run your builds.
For the exact versions of Ruby that are preinstalled, refer to Microsoft-hosted agents. To install a specific version of Ruby on Microsoft-hosted agents, add the Use Ruby Version task to the beginning of your pipeline.
Add the Use Ruby Version task to set the version of Ruby used in your pipeline. This snippet adds Ruby 2.4 or later to the path and sets subsequent pipeline tasks to use it.
# 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
To install Rails, add the following snippet to your azure-pipelines.yml
file.
- script: gem install rails && rails -v
displayName: 'gem install rails'
To use Bundler to install dependencies, add the following snippet to your azure-pipelines.yml
file.
- script: |
CALL gem install bundler
bundle install --retry=3 --jobs=4
displayName: 'bundle install'
To execute Rake in the context of the current bundle (as defined in your Gemfile), add the following snippet to your azure-pipelines.yml
file.
- script: bundle exec rake
displayName: 'bundle exec rake'
The sample code includes unit tests written using RSpec. When Rake is run by the previous step, it runs the RSpec tests. The RSpec RakeTask in the Rakefile has been configured to produce JUnit style results using the RspecJUnitFormatter.
Add the Publish Test Results task to publish JUnit style test results to the server. You get a rich test reporting experience that you can use for troubleshooting any failed tests and for test timing analysis.
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: '**/test-*.xml'
testRunTitle: 'Ruby tests'
The sample code uses SimpleCov to collect code coverage data when unit tests get run. SimpleCov is configured to use Cobertura and HTML report formatters.
Add the Publish Code Coverage Results task to publish code coverage results to the server. When you do so, coverage metrics can be seen in the build summary and HTML reports can be downloaded for further analysis.
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml'
reportDirectory: '$(System.DefaultWorkingDirectory)/**/coverage'
For your Ruby app, you can also build an image and push it to a container registry.
Events
Mar 17, 9 PM - Mar 21, 10 AM
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowTraining
Learning path
Build applications with Azure DevOps learning path - Training
In this learning path, find out how to collaborate with others to continuously build, test, and verify your applications using Azure Pipelines and GitHub.
Certification
Microsoft Certified: Azure Developer Associate - Certifications
Build end-to-end solutions in Microsoft Azure to create Azure Functions, implement and manage web apps, develop solutions utilizing Azure storage, and more.
Documentation
UseRubyVersion@0 - Use Ruby version v0 task
Use the specified version of Ruby from the tool cache, optionally adding it to the PATH.
Build and test PHP apps - Azure Pipelines
Build and test PHP apps with Azure Pipelines.
Build Java apps - Azure Pipelines
Automatically build Java apps with Azure Pipelines.