Compilar y probar aplicaciones de Ruby
Azure DevOps Services
En este artículo se explica cómo compilar automáticamente proyectos de Ruby.
Creación de Azure Pipelines
Siga estos pasos para configurar una canalización para una aplicación de Ruby.
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Seleccione Canalizaciones>Nueva canalización.
Seleccione GitHub como ubicación del código fuente.
Puede que se le redirija a GitHub para iniciar sesión. Si es así, escriba sus credenciales de GitHub.
Seleccione el repositorio de ejemplo de Ruby.
Seleccione la plantilla
Ruby
de la canalización.Se genera un archivo YAML. Seleccione Guardar y ejecutar>Confirmar directamente en la rama principal, y, a continuación, elija Guardar y ejecutar de nuevo.
Espere a que finalice.
Ahora ya tiene una canalización YAML que funciona (azure-pipelines.yml
) en el repositorio que está lista para que la personalice.
Sugerencia
Para realizar cambios en el archivo YAML como se describe en este artículo, seleccione la canalización en la página Canalizaciones y, luego, haga clic en Editar para modificar el archivo azure-pipelines.yml
.
Entorno de compilación
Puede usar Azure Pipelines para compilar los proyectos de Ruby sin necesidad de configurar ninguna infraestructura propia. Ruby está preinstalado en agentes hospedados por Microsoft en Azure Pipelines. Puede usar agentes de Linux, macOS o Windows para ejecutar las compilaciones.
Para conocer las versiones exactas de Ruby que están preinstaladas, consulte Agentes hospedados por Microsoft. Para instalar una versión específica de Ruby en agentes hospedados por Microsoft, agregue la tarea Usar versión de Ruby al principio de la canalización.
Usar una versión específica de Ruby
Agregue la tarea Usar versión de Ruby para establecer la versión de Ruby usada en la canalización. Este fragmento de código agrega Ruby 2.4 o posterior a la ruta de acceso y establece las tareas de canalización posteriores para usarlas.
# 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
Instalar Rails
Para instalar Rails, agregue el siguiente fragmento de código al archivo azure-pipelines.yml
.
- script: gem install rails && rails -v
displayName: 'gem install rails'
Instalar dependencias
Para usar Bundler para instalar dependencias, agregue el siguiente fragmento de código al archivo azure-pipelines.yml
.
- script: |
CALL gem install bundler
bundle install --retry=3 --jobs=4
displayName: 'bundle install'
Ejecutar Rake
Para ejecutar Rake en el contexto de la agrupación actual (tal como se define en el archivo Gemfile), agregue el siguiente fragmento de código al archivo azure-pipelines.yml
.
- script: bundle exec rake
displayName: 'bundle exec rake'
Publicación de los resultados de las pruebas
El código de ejemplo incluye pruebas unitarias escritas mediante RSpec. Cuando Rake se ejecuta en el paso anterior, este ejecuta las pruebas de RSpec. El RSpec RakeTask del archivo Rakefile se ha configurado para generar resultados de estilo JUnit mediante RspecJUnitFormatter.
Agregue la tarea Publicar resultados de pruebas para publicar resultados de pruebas de estilo JUnit en el servidor. Obtendrá una experiencia enriquecida de informes de pruebas que puede usar para solucionar los errores de las pruebas y para el análisis de tiempo de pruebas.
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: '**/test-*.xml'
testRunTitle: 'Ruby tests'
Publicar resultados de cobertura de código
El código de ejemplo utiliza SimpleCov para recopilar datos de cobertura de código cuando se ejecutan pruebas unitarias. SimpleCov está configurado para usar formateadores de informes de cobertura y HTML.
Agregue la tarea Publicar resultados de cobertura de código para publicar los resultados de cobertura de código en el servidor. Al hacerlo, se pueden ver las métricas de cobertura en el resumen de compilación y los informes HTML para su posterior análisis.
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml'
reportDirectory: '$(System.DefaultWorkingDirectory)/**/coverage'
Compilar e insertar imágenes en un registro de contenedor
Para la aplicación ruby, también puede compilar una imagen e insertarla en un registro de contenedor.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de