Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Servizi di Azure DevOps
Informazioni su come usare Azure Pipelines per compilare, testare e distribuire l'applicazione Ruby.
Creare le Azure Pipelines
Seguire questa procedura per configurare una pipeline per un'app Ruby.
Accedere all'organizzazione di Azure DevOps e passare al progetto.
Passare a Pipeline>Nuova pipeline.
Selezionare GitHub come percorso del codice sorgente.
Si potrebbe essere reindirizzati a GitHub per l'accesso. In questo caso, immettere le credenziali di GitHub.
Seleziona il repository di esempio Ruby.
Seleziona il modello
Ruby
per la tua pipeline.Viene generato un file YAML. Selezionare Salva ed esegui>Commit direttamente nel ramo principale e quindi selezionare Salva ed esegui di nuovo.
Attendere che l'esecuzione finisca.
È disponibile un file YAML funzionante (azure-pipelines.yml
) nel repository pronto per la personalizzazione.
Suggerimento
Per apportare modifiche al file YAML descritto in questo articolo, selezionare la pipeline nella pagina Pipeline e quindi selezionare Modifica per il azure-pipelines.yml
file.
Ambiente di sviluppo
È possibile usare Azure Pipelines per compilare i progetti Ruby senza dover configurare un'infrastruttura personalizzata. Ruby è preinstallato negli agenti ospitati da Microsoft in Azure Pipelines. È possibile usare agenti Linux, macOS o Windows per eseguire le compilazioni.
Per le versioni esatte di Ruby preinstallate, fare riferimento agli agenti ospitati da Microsoft. Per installare una versione specifica di Ruby negli agenti ospitati da Microsoft, aggiungere l'attività Usa versione Ruby all'inizio della pipeline.
Usare una versione specifica di Ruby
Aggiungere l'attività Usa versione Ruby per impostare la versione ruby nella pipeline. Questo frammento di codice aggiunge Ruby 3.4 o versione successiva al percorso e imposta le attività della pipeline successive per usarlo.
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UseRubyVersion@0
inputs:
versionSpec: '>= 3.4'
addToPath: true
displayName: 'Set Ruby version'
Installare Rails
Per installare Rails, aggiungere il frammento di codice seguente al azure-pipelines.yml
file.
- script: gem install rails && rails -v
displayName: 'Install Rails'
Installa le dipendenze
Usare Bundler per installare le dipendenze aggiungendo il frammento di codice seguente al azure-pipelines.yml
file.
- script: |
gem install bundler
bundle install --retry=3 --jobs=4
displayName: 'Install dependencies with Bundler'
Eseguire Rake
Per eseguire Rake nel contesto del bundle corrente (come definito nel file Gemfile), aggiungere il frammento di codice seguente al azure-pipelines.yml
file.
- script: bundle exec rake
displayName: 'bundle exec rake'
Pubblica risultati dei test
Il codice di esempio include unit test scritti con RSpec. Quando Rake viene eseguito nel passaggio precedente, esegue i test RSpec. RSpec RakeTask in Rakefile è configurato per produrre risultati in stile JUnit usando RspecJUnitFormatter.
Aggiungere l'attività Pubblica risultati test per pubblicare i risultati dei test in stile JUnit nel server.
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: '**/test-*.xml'
testRunTitle: 'Ruby tests'
Pubblicare i risultati della copertura del codice
Il codice di esempio usa SimpleCov per raccogliere i dati di code coverage quando vengono eseguiti unit test. SimpleCov è configurato per l'uso dei formattatori di report Cobertura e HTML.
Aggiungere l'attività Pubblica risultati code coverage per pubblicare i risultati del code coverage nel server. In questo modo è possibile visualizzare le metriche di copertura nel riepilogo della compilazione e scaricare i report HTML per ulteriori analisi.
- task: PublishCodeCoverageResults@2
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml'
reportDirectory: '$(System.DefaultWorkingDirectory)/**/coverage'
failIfCoverageEmpty: true
Creare un'immagine ed eseguire il push nel registro di container
Per l'app Ruby, è possibile compilare un'immagine ed eseguirne il push in un registro contenitori.