Membuat dan menguji aplikasi Ruby

Azure DevOps

Artikel ini menjelaskan cara membuat proyek Ruby secara otomatis.

Membuat Azure Pipelines

Lakukan langkah-langkah berikut untuk menyiapkan alur untuk aplikasi Ruby.

  1. Masuk ke organisasi Azure DevOps Anda dan buka proyek Anda.

  2. Pilih Alur>Alur baru.

  3. Pilih GitHub sebagai lokasi kode sumber Anda.

    Anda dapat diarahkan ke GitHub untuk masuk. Jika demikian, masukkan informasi masuk GitHub Anda.

  4. Pilih repositori sampel Ruby Anda.

  5. Ruby Pilih templat untuk alur Anda.

  6. File YAML dibuat. Pilih Simpan dan jalankan>Penerapan langsung ke cabang utama, lalu pilih Simpan dan jalankan lagi.

  7. Tunggu sampai eksekusi selesai.

Anda memiliki file YAML yang berfungsi (azure-pipelines.yml) di repositori Anda yang siap untuk Anda sesuaikan.

Tip

Untuk membuat perubahan pada file YAML seperti yang dijelaskan dalam artikel ini, pilih alur di halaman Alur , lalu Editazure-pipelines.yml file.

Membangun lingkungan

Anda dapat menggunakan Azure Pipelines untuk membangun proyek Ruby Anda tanpa perlu menyiapkan infrastruktur Anda sendiri. Ruby telah diinstal sebelumnya pada agen yang dihosting Microsoft di Azure Pipelines. Anda dapat menggunakan agen Linux, macOS, atau Windows untuk menjalankan build Anda.

Untuk versi Ruby yang tepat yang telah diinstal sebelumnya, lihat agen yang dihosting Microsoft. Untuk menginstal versi Ruby tertentu pada agen yang dihosting Microsoft, tambahkan tugas Gunakan Versi Ruby ke awal alur Anda.

Menggunakan versi Ruby tertentu

Tambahkan tugas Gunakan Versi Ruby untuk mengatur versi Ruby yang digunakan dalam alur Anda. Cuplikan ini menambahkan Ruby 2.4 atau yang lebih baru ke jalur dan mengatur tugas alur berikutnya untuk menggunakannya.

# 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

Pasang Rel

Untuk menginstal Rails, tambahkan cuplikan berikut ke file Anda azure-pipelines.yml .

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

Instal dependensi

Untuk menggunakan Bundler untuk menginstal dependensi, tambahkan cuplikan berikut ke file Anda azure-pipelines.yml .

- script: |
    CALL gem install bundler
    bundle install --retry=3 --jobs=4
  displayName: 'bundle install'

Jalankan Rake

Untuk menjalankan Rake dalam konteks bundel saat ini (seperti yang didefinisikan dalam Gemfile Anda), tambahkan cuplikan berikut ke file Anda azure-pipelines.yml .

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

Memublikasikan hasil pengujian

Kode sampel mencakup pengujian unit yang ditulis menggunakan RSpec. Ketika Rake dijalankan oleh langkah sebelumnya, Rake menjalankan pengujian RSpec. RSpec RakeTask di Rakefile telah dikonfigurasi untuk menghasilkan hasil gaya JUnit menggunakan RspecJUnitFormatter.

Tambahkan tugas Terbitkan Hasil Pengujian untuk menerbitkan hasil pengujian gaya JUnit ke server. Anda mendapatkan pengalaman pelaporan pengujian kaya yang dapat Anda gunakan untuk memecahkan masalah pengujian yang gagal dan untuk analisis waktu pengujian.

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

Menerbitkan hasil cakupan kode

Kode sampel menggunakan SimpleCov untuk mengumpulkan data cakupan kode saat pengujian unit dijalankan. SimpleCov dikonfigurasi untuk menggunakan pemformat laporan Cobertura dan HTML.

Tambahkan tugas Terbitkan Hasil Cakupan Kode untuk menerbitkan hasil cakupan kode ke server. Saat Anda melakukannya, metrik cakupan dapat dilihat dalam ringkasan build dan laporan HTML dapat diunduh untuk analisis lebih lanjut.

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

Membangun gambar dan mendorong ke registri kontainer

Untuk aplikasi Ruby, Anda juga dapat membuat gambar dan mendorongnya ke registri kontainer.