Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Naučte se používat Azure Pipelines k automatickému sestavování, testování a nasazování aplikací Ruby.
Požadavky
Ruby je předinstalovaný na agentech hostovaných Microsoftem pro Linux, macOS a Windows. Pro sestavování projektů Ruby nemusíte nic dalšího nastavovat. Informace o předinstalovaných verzích Ruby najdete v tématu Software.
| produkt | Požadavky |
|---|---|
| Azure DevOps | – Projekt Azure DevOps. – Možnost spouštět pipeliny na agentech hostovaných Microsoftem. Můžete si buď koupit paralelní úlohu, nebo si můžete požádat o bezplatnou úroveň. – Základní znalost YAML a Azure Pipelines. Další informace naleznete v tématu Vytvoření prvního potrubí. - Oprávnění: – Chcete-li vytvořit pipeline: Musíte být ve skupině Přispěvatelé a skupina musí mít oprávnění k vytvoření build pipeline nastavena na hodnotu Povolit. Členové skupiny Správci projektů můžou spravovat kanály. - Chcete-li vytvořit připojení služeb: Pro připojení služeb musíte mít roli Správce nebo Tvůrce. |
| GitHub | – Účet GitHubu . – Připojení ke službě GitHub pro autorizaci Azure Pipelines. |
| produkt | Požadavky |
|---|---|
| Azure DevOps | – Projekt Azure DevOps. – Agent hostovaný samotným serverem s nainstalovaným Ruby. Chcete-li ho vytvořit, podívejte se na agenty hostované na vlastním serveru. – Základní znalost YAML a Azure Pipelines. Další informace naleznete v tématu Vytvoření prvního potrubí. - Oprávnění: – Chcete-li vytvořit pipeline: Musíte být ve skupině Přispěvatelé a skupina musí mít oprávnění k vytvoření build pipeline nastavena na hodnotu Povolit. Členové skupiny Správci projektů můžou spravovat kanály. - Chcete-li vytvořit připojení služeb: Pro připojení služeb musíte mít roli Správce nebo Tvůrce. |
| GitHub | – Účet GitHubu . – Připojení ke službě GitHub pro autorizaci Azure Pipelines. |
Vytvoření služby Azure Pipelines
Postupujte podle těchto kroků a nastavte pipeline pro aplikaci Ruby.
Přihlaste se ke své organizaci Azure DevOps a přejděte do svého projektu.
Přejděte na 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 svoje přihlašovací údaje GitHubu.
Vyberte své ukázkové úložiště Ruby.
RubyVyberte šablonu pro váš kanál.Vygeneruje se soubor YAML. Vyberte Uložit a spustit>Přímo připojit do hlavní větve a pak vyberte Uložit a spustit znovu.
Počkejte na dokončení spuštění potrubí. U základního projektu Ruby to obvykle trvá 2 až 5 minut.
Teď máte v úložišti funkční soubor YAML,azure-pipelines.yml který se automaticky spustí při nasdílení změn kódu. Tento soubor lze přizpůsobit tak, aby vyhovoval konkrétním potřebám projektu.
Návod
Chcete-li provést změny souboru YAML popsaného v tomto článku, vyberte kanál na stránce Pipelines a pak vyberte Upravit soubor azure-pipelines.yml .
Sestavení prostředí
Azure Pipelines můžete použít k vytváření projektů Ruby, aniž byste museli nastavovat vlastní infrastrukturu. Ruby je předinstalovaný na agentech hostovaných Microsoftem v Azure Pipelines. Ke spouštění sestavení můžete použít agenty pro Linux, macOS nebo Windows.
Přesné verze Ruby, které jsou předinstalované, najdete v agentech hostovaných 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 úkol Použít verzi Ruby pro nastavení verze Ruby ve vašem pipeline. Tento úryvek přidá do cesty Ruby 3.4 nebo novější a nastaví následné úlohy potrubí, aby ho používaly. Pokud chcete zjistit, které verze Ruby jsou předinstalované na agentech hostovaných Microsoftem, přečtěte si téma Software.
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UseRubyVersion@0
inputs:
versionSpec: '>= 3.4'
addToPath: true
displayName: 'Set Ruby version'
Instalace rails
Pokud chcete nainstalovat Rails, přidejte do azure-pipelines.yml souboru následující fragment kódu.
- script: gem install rails && rails -v
displayName: 'Install Rails'
Nainstalujte závislosti
Pomocí Bundleru nainstalujte závislosti drahokamů projektu. Bundler čte vaše Gemfile a Gemfile.lock, aby bylo zajištěno, že v kanálu budou nainstalované stejné verze gemů jako ve vašem vývojovém prostředí.
- script: |
gem install bundler
bundle install --retry=3 --jobs=4
displayName: 'Install dependencies with Bundler'
Příznak --retry=3 opakuje neúspěšné instalace až 3krát a --jobs=4å umožňuje paralelní instalaci drahokamů pro rychlejší sestavení.
Spustit Rake
Pokud chcete spustit Rake v kontextu aktuální sady (jak je definováno v souboru Gemfile), přidejte do azure-pipelines.yml souboru následující fragment kódu.
- script: bundle exec rake
displayName: 'bundle exec rake'
Publikování výsledků testu
Vzorový kód obsahuje testy jednotek napsané pomocí RSpec. Když se Rake spustí v předchozím kroku, provede testy RSpec. RSpec RakeTask v Rakefile je nakonfigurován tak, aby vytvořil JUnit-style výsledky pomocí RspecJUnitFormatter.
Přidejte úlohu Publikovat výsledky testu pro publikování výsledků testu ve stylu JUnit na server.
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: '**/test-*.xml'
testRunTitle: 'Ruby tests'
Publikujte výsledky pokrytí kódu
Ukázkový kód používá SimpleCov ke shromažďování dat pokrytí kódu, když se spouštějí jednotkové testy. SimpleCov je nakonfigurovaný tak, aby používal Cobertura a formátory sestav HTML.
Přidejte úlohu Publikovat výsledky pokrytí kódu pro publikování výsledků pokrytí kódu na server. Toto vám umožní zobrazit metriky pokrytí v souhrnu sestavení a stáhnout HTML reporty pro další analýzu.
- task: PublishCodeCoverageResults@2
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml'
reportDirectory: '$(System.DefaultWorkingDirectory)/**/coverage'
failIfCoverageEmpty: true
Kompletní ukázkový kanál
Tady je kompletní azure-pipelines.yml soubor, který ukazuje všechny koncepty popsané v tomto článku. Tento kanál:
- Spouštěče na změny v hlavní větvi
- Používá Ubuntu jako prostředí sestavení.
- Nastaví zadanou verzi Ruby.
- Nainstaluje závislosti projektu.
- Spustí testy pomocí Rake.
- Publikuje výsledky testů a metriky pokrytí kódu.
# Ruby pipeline example
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
variables:
rubyVersion: '3.4.7'
steps:
- task: UseRubyVersion@0
inputs:
versionSpec: '$(rubyVersion)'
addToPath: true
displayName: 'Set Ruby version to $(rubyVersion)'
- script: |
gem install bundler
bundle install --retry=3 --jobs=4
displayName: 'Install dependencies'
- script: bundle exec rake
displayName: 'Run tests with Rake'
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: '**/test-*.xml'
testRunTitle: 'Ruby tests'
displayName: 'Publish test results'
- task: PublishCodeCoverageResults@2
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml'
reportDirectory: '$(System.DefaultWorkingDirectory)/**/coverage'
failIfCoverageEmpty: true
displayName: 'Publish code coverage'