Ruby uygulamaları derleme ve test etme
Azure DevOps Services
Bu makalede Ruby projelerini otomatik olarak oluşturma açıklanmaktadır.
Azure Pipelines'u oluşturma
Ruby uygulaması için işlem hattı ayarlamak için aşağıdaki adımları uygulayın.
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
İşlem HatlarıYeni işlem hattı'ni> seçin.
Kaynak kodunuzun konumu olarak GitHub'ı seçin.
Oturum açmak için GitHub'a yönlendirilebilirsiniz. Öyleyse GitHub kimlik bilgilerinizi girin.
Ruby örnek deponuzu seçin.
Ruby
İşlem hattınızın şablonunu seçin.YAML dosyası oluşturulur. Kaydet'i seçipCommit'i doğrudan ana dala çalıştırın > ve ardından Kaydet ve yeniden çalıştır'ı seçin.
Çalıştırmanın bitmesini bekleyin.
Deponuzda özelleştirmeniz için hazır çalışan bir YAML dosyanız (azure-pipelines.yml
) var.
İpucu
Bu makalede açıklandığı gibi YAML dosyasında değişiklik yapmak için İşlem Hatları sayfasında işlem hattını seçin ve dosyayı düzenleyinazure-pipelines.yml
.
Ortam oluşturma
Kendi altyapınızı ayarlamanıza gerek kalmadan Ruby projelerinizi oluşturmak için Azure Pipelines'ı kullanabilirsiniz. Ruby, Azure Pipelines'da Microsoft tarafından barındırılan aracılara önceden yüklenmiştir. Derlemelerinizi çalıştırmak için Linux, macOS veya Windows aracılarını kullanabilirsiniz.
Ruby'nin önceden yüklenmiş tam sürümleri için Bkz. Microsoft tarafından barındırılan aracılar. Microsoft tarafından barındırılan aracılara Ruby'nin belirli bir sürümünü yüklemek için işlem hattınızın başına Ruby Sürümünü Kullan görevini ekleyin.
Belirli bir Ruby sürümünü kullanma
İşlem hattınızda kullanılan Ruby sürümünü ayarlamak için Ruby Sürümünü Kullan görevini ekleyin. Bu kod parçacığı yola Ruby 2.4 veya üzerini ekler ve bunu kullanmak için sonraki işlem hattı görevlerini ayarlar.
# 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
Rayları Yükleme
Rails'i yüklemek için dosyanıza azure-pipelines.yml
aşağıdaki kod parçacığını ekleyin.
- script: gem install rails && rails -v
displayName: 'gem install rails'
Bağımlılıkları yükleme
Bağımlılıkları yüklemek için Bundler'ı kullanmak için dosyanıza azure-pipelines.yml
aşağıdaki kod parçacığını ekleyin.
- script: |
CALL gem install bundler
bundle install --retry=3 --jobs=4
displayName: 'bundle install'
Rake'i çalıştırma
Rake'i geçerli paket bağlamında (Gemfile içinde tanımlandığı gibi) yürütmek için dosyanıza azure-pipelines.yml
aşağıdaki kod parçacığını ekleyin.
- script: bundle exec rake
displayName: 'bundle exec rake'
Test sonuçlarını yayımlama
Örnek kod , RSpec kullanılarak yazılan birim testlerini içerir. Rake önceki adım tarafından çalıştırıldığında RSpec testlerini çalıştırır. Rakefile içindeki RSpec RakeTask, RspecJUnitFormatter kullanılarak JUnit stili sonuçlar üretecek şekilde yapılandırıldı.
JUnit stili test sonuçlarını sunucuda yayımlamak için Test Sonuçlarını Yayımla görevini ekleyin. Başarısız testlerin sorunlarını gidermek ve test zamanlama analizi için kullanabileceğiniz zengin bir test raporlama deneyimi elde edersiniz.
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: '**/test-*.xml'
testRunTitle: 'Ruby tests'
Kod kapsamı sonuçlarını yayımlama
Örnek kod, birim testleri çalıştırıldığında kod kapsamı verilerini toplamak için SimpleCov kullanır. SimpleCov, Cobertura ve HTML rapor biçimlendiricilerini kullanacak şekilde yapılandırılmıştır.
Kod kapsamı sonuçlarını sunucuda yayımlamak için Kod Kapsamı Sonuçlarını Yayımla görevini ekleyin. Bunu yaptığınızda kapsam ölçümleri derleme özetinde görülebilir ve daha fazla analiz için HTML raporları indirilebilir.
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml'
reportDirectory: '$(System.DefaultWorkingDirectory)/**/coverage'
Görüntü oluşturma ve kapsayıcı kayıt defterine gönderme
Ruby uygulamanız için bir görüntü oluşturabilir ve bunu bir kapsayıcı kayıt defterine gönderebilirsiniz.