Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
Connectez-vous à votre organisation Azure DevOps et accédez à votre projet.
Accédez à Pipelines>New pipeline.
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.
Sélectionnez votre exemple de référentiel Ruby.
Sélectionnez le
Ruby
modèle de votre pipeline.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 .
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.