Sestavování a testování aplikací v Ruby
Azure DevOps Services
Tento článek vysvětluje, jak automaticky sestavovat projekty Ruby.
Vytvoření Azure Pipelines
Následujícím postupem nastavíte kanál pro aplikaci Ruby.
Přihlaste se k organizaci Azure DevOps a přejděte do svého projektu.
Vyberte Kanály>Nový kanál.
Jako umístění zdrojového kódu vyberte GitHub .
Můžete být přesměrováni na GitHub kvůli přihlášení. Pokud ano, zadejte své přihlašovací údaje GitHubu.
Vyberte své ukázkové úložiště Ruby.
Ruby
Vyberte šablonu pro váš kanál.Vygeneruje se soubor YAML. Vyberte Save and run Commit (Uložit a spustit>potvrzení) přímo do hlavní větve a pak zvolte Save and run again (Uložit a spustit znovu).
Počkejte na dokončení.
V úložišti máte funkční soubor YAML (azure-pipelines.yml
), který je připravený k přizpůsobení.
Tip
Pokud chcete v souboru YAML provést změny, jak je popsáno v tomto článku, vyberte kanál na stránce Pipelines (Kanály) a pak vyberte Edit the azure-pipelines.yml
file (Upravit soubor).
Sestavení prostředí
Azure Pipelines můžete použít k sestavování projektů Ruby, aniž byste museli nastavovat vlastní infrastrukturu. Ruby je předinstalovaný na agentech hostovaných Microsoftem ve službě Azure Pipelines. Ke spouštění buildů můžete použít agenty pro Linux, macOS nebo Windows.
Přesné verze Ruby, které jsou předinstalované, najdete v tématu Agenti hostovaní Microsoftem. Pokud chcete nainstalovat konkrétní verzi Ruby na agenty hostované Microsoftem, přidejte na začátek kanálu úlohu Použít verzi Ruby .
Použití konkrétní verze Ruby
Přidejte úlohu Use Ruby Version (Použít verzi Ruby ) k nastavení verze Ruby používané ve vašem kanálu. Tento fragment kódu přidá do cesty Ruby 2.4 nebo novější a nastaví další úlohy kanálu tak, aby ho používaly.
# 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
Instalace zábradlí
Rails nainstalujete tak, že do souboru přidáte azure-pipelines.yml
následující fragment kódu.
- script: gem install rails && rails -v
displayName: 'gem install rails'
Instalace závislostí
Pokud chcete k instalaci závislostí použít Bundler, přidejte do souboru azure-pipelines.yml
následující fragment kódu.
- script: |
CALL gem install bundler
bundle install --retry=3 --jobs=4
displayName: 'bundle install'
Spustit Rake
Pokud chcete Rake spustit v kontextu aktuální sady (jak je definováno v souboru Gemfile), přidejte do souboru azure-pipelines.yml
následující fragment kódu.
- script: bundle exec rake
displayName: 'bundle exec rake'
Publikování výsledků testů
Vzorový kód obsahuje testy jednotek napsané pomocí RSpec. Když rake spustíte v předchozím kroku, spustí se testy RSpec. RSpec RakeTask v souboru Rakefile byl nakonfigurován tak, aby se výsledky ve stylu JUnit vytvářely pomocí RspecJUnitFormatter.
Přidejte úlohu Publikovat výsledky testu , která publikuje výsledky testů stylu JUnit na server. Získáte bohaté možnosti vytváření sestav testů, které můžete použít k řešení potíží se všemi neúspěšnými testy a k analýze časování testů.
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: '**/test-*.xml'
testRunTitle: 'Ruby tests'
Publikování výsledků pokrytí kódu
Vzorový kód používá SimpleCov ke shromažďování dat pokrytí kódu při spuštění testů jednotek. SimpleCov je nakonfigurovaný tak, aby používal formátovací moduly pro sestavy Cobertura a HTML.
Přidejte úlohu Publikovat výsledky pokrytí kódu , která publikuje výsledky pokrytí kódu na server. Když to uděláte, metriky pokrytí se zobrazí v souhrnu sestavení a sestavy HTML si můžete stáhnout pro další analýzu.
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml'
reportDirectory: '$(System.DefaultWorkingDirectory)/**/coverage'
Sestavení image a vložení do registru kontejneru
Pro aplikaci Ruby můžete také sestavit image a odeslat ji do registru kontejneru.