Partager via


Créer et tester des applications Ruby

Azure DevOps Services

Découvrez comment utiliser Azure Pipelines pour générer, tester et déployer votre application Ruby.

Créer Azure Pipelines

Suivez ces étapes pour configurer un pipeline pour une application Ruby.

  1. Connectez-vous à votre organisation Azure DevOps et accédez à votre projet.

  2. Accédez à Pipelines>New pipeline.

  3. Sélectionnez GitHub comme emplacement de votre code source.

    Vous serez peut-être redirigé vers GitHub pour vous connecter. Si c’est le cas, entrez vos informations d’identification GitHub.

  4. Sélectionnez votre exemple de référentiel Ruby.

  5. Sélectionnez le Ruby modèle de votre pipeline.

  6. Un fichier YAML est généré. Sélectionnez Enregistrer et exécuter>Commit directement dans la branche principale, puis sélectionnez Enregistrer et réexécuter .

  7. Attendez la fin de l’exécution.

Vous disposez d’un fichier YAML fonctionnel (azure-pipelines.yml) dans votre référentiel prêt à être personnalisé.

Conseil / Astuce

Pour apporter des modifications au fichier YAML décrit dans cet article, sélectionnez le pipeline dans la page Pipelines , puis sélectionnez Modifier pour le azure-pipelines.yml fichier.

Environnement de génération

Vous pouvez utiliser Azure Pipelines pour générer vos projets Ruby sans avoir besoin de configurer une infrastructure de votre choix. Ruby est préinstallé sur les agents hébergés par Microsoft dans Azure Pipelines. Vous pouvez utiliser des agents Linux, macOS ou Windows pour exécuter vos builds.

Pour connaître les versions exactes de Ruby préinstallées, reportez-vous aux agents hébergés par Microsoft. Pour installer une version spécifique de Ruby sur des agents hébergés par Microsoft, ajoutez la tâche Utiliser la version de Ruby au début de votre pipeline.

Utiliser une version spécifique de Ruby

Ajoutez la tâche Utiliser la version de Ruby pour définir la version Ruby dans votre pipeline. Cet extrait de code ajoute Ruby 3.4 ou version ultérieure au chemin d’accès et définit les tâches de pipeline suivantes pour l’utiliser.

pool:
  vmImage: 'ubuntu-latest' 

steps:
- task: UseRubyVersion@0 
  inputs:
    versionSpec: '>= 3.4' 
    addToPath: true
  displayName: 'Set Ruby version'

Installer Rails

Pour installer Rails, ajoutez l’extrait de code suivant à votre azure-pipelines.yml fichier.

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

Installer des dépendances

Utilisez Bundler pour installer les dépendances en ajoutant l’extrait de code suivant à votre azure-pipelines.yml fichier.

- script: |
    gem install bundler
    bundle install --retry=3 --jobs=4
  displayName: 'Install dependencies with Bundler'

Exécuter Rake

Pour exécuter Rake dans le contexte du bundle actuel (tel que défini dans votre Gemfile), ajoutez l’extrait de code suivant à votre azure-pipelines.yml fichier.

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

Publier les résultats des tests

L’exemple de code inclut des tests unitaires écrits avec RSpec. Lorsque Rake s’exécute dans l’étape précédente, il exécute les tests RSpec. Le RSpec RakeTask dans le Rakefile est configuré pour produire des résultats de style JUnit à l’aide de RspecJUnitFormatter.

Ajoutez la tâche Publier les résultats des tests pour publier les résultats de test de style JUnit sur le serveur.

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

Publier les résultats de la couverture du code

L’exemple de code utilise SimpleCov pour collecter les données de couverture du code lorsque les tests unitaires sont exécutés. SimpleCov est configuré pour utiliser les formateurs de rapports Cobertura et HTML.

Ajoutez la tâche Publier les résultats de couverture du code pour publier les résultats de couverture du code sur le serveur. Cela vous permet d’afficher les métriques de couverture dans le résumé de build et de télécharger des rapports HTML pour une analyse plus approfondie.

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

Générer et envoyer une image au registre de conteneurs

Pour votre application Ruby, vous pouvez générer une image et l’envoyer (push) à un registre de conteneurs.