GitHub Actions a .NET
V tomto přehledu se dozvíte, jakou roli hraje GitHub Actions při vývoji aplikací .NET. GitHub Actions umožňuje úložištím zdrojového kódu automatizovat kontinuální integraci (CI) a průběžné doručování (CD). Kromě toho GitHub Actions zpřístupňuje pokročilejší scénáře – poskytuje háky pro automatizaci pomocí kontrol kódu, správy větví a třídění problémů. Pomocí zdrojového kódu .NET na GitHubu můžete gitHub Actions využívat mnoha způsoby.
GitHub Actions
GitHub Actions představují samostatné příkazy, například:
- actions/checkout – tato akce provede rezervaci úložiště v části
$GITHUB_WORKSPACE
, aby k němu mohl váš pracovní postup přistupovat. - actions/setup-dotnet – tato akce nastaví prostředí .NET CLI pro použití v akcích.
- dotnet/versionsweeper – tato akce uklidí úložiště .NET pro cílové verze rozhraní .NET, které nepodporují.
I když jsou tyto příkazy izolované na jednu akci, jsou výkonné prostřednictvím složení pracovního postupu. Ve složení pracovního postupu definujete události , které aktivují pracovní postup. Po spuštění pracovního postupu jsou k dispozici různé úlohy , které má provést. Každá úloha definuje libovolný počet kroků. Kroky delegují na GitHub Actions nebo případně volají skripty příkazového řádku.
Další informace najdete v tématu Úvod do GitHub Actions. Soubor pracovního postupu si můžete představit jako složení, které představuje různé kroky pro sestavení, testování nebo publikování aplikace. K dispozici je mnoho příkazů rozhraní příkazového řádku .NET, z nichž většina se dá použít v kontextu akce GitHubu.
Vlastní Akce GitHubu
Na Marketplace je k dispozici spousta akcí GitHub Actions, ale možná budete chtít vytvořit vlastní. Můžete vytvořit GitHub Actions, které spouštějí aplikace .NET. Další informace najdete v tématu Kurz: Vytvoření akce GitHubu pomocí .NET
Soubor pracovního postupu
GitHub Actions se využívají prostřednictvím souboru pracovního postupu. Soubor pracovního postupu musí být umístěný v adresáři .github/workflows úložiště a očekává se, že bude YAML ( *.yml nebo *.yaml). Soubory pracovního postupu definují složení pracovního postupu. Pracovní postup je konfigurovatelný automatizovaný proces tvořený jednou nebo více úlohami. Další informace najdete v tématu Syntaxe pracovního postupu pro GitHub Actions.
Příklady souborů pracovního postupu
V kurzech a rychlých startech je k dispozici mnoho příkladů souborů pracovních postupů .NET. Tady je několik dobrých příkladů názvů souborů pracovního postupu:
Název souboru pracovního postupu
Popis
Zkompiluje (nebo sestaví) zdrojový kód. Pokud se zdrojový kód nekompiluje, dojde k selhání.
Cvičení testů jednotek v úložišti Aby bylo možné spouštět testy, musí se nejprve zkompilovat zdrojový kód – to je skutečně sestavení i testovací pracovní postup (nahrazuje build-validation.yml pracovní postup). Neúspěšné testy jednotek způsobí selhání pracovního postupu.
Zabalí a publikuje zdrojový kód do cíle.
Analyzuje kód z hlediska ohrožení zabezpečení a chyb kódování. Všechna zjištěná ohrožení zabezpečení můžou způsobit selhání.
Šifrované tajné kódy
Pokud chcete v souborech pracovního postupu používat šifrované tajné kódy , odkazujete na tajné kódy pomocí syntaxe výrazu pracovního postupu z kontextového objektu secrets
.
${{ secrets.MY_SECRET_VALUE }} # The MY_SECRET_VALUE must exist in the repository as a secret
Tajné hodnoty se v protokolech nikdy nevytisknou. Místo toho se jejich názvy vytisknou hvězdičkou představující jejich hodnoty. Například při každém spuštění jednotlivých kroků v rámci úlohy jsou všechny hodnoty, které používá, výstupem protokolu akcí. Tajné hodnoty se vykreslují podobně jako následující:
MY_SECRET_VALUE: ***
Důležité
Kontext secrets
poskytuje ověřovací token GitHubu, který je vymezený na úložiště, větev a akci. Poskytuje ho GitHub bez zásahu uživatele:
${{ secrets.GITHUB_TOKEN }}
Další informace naleznete v tématu Použití šifrovaných tajných kódů v pracovním postupu.
Událost
Pracovní postupy se aktivují mnoha různými typy událostí. Kromě událostí webhooku, které jsou nejběžnější, existují také naplánované události a ruční události.
Příklad události webhooku
Následující příklad ukazuje, jak zadat trigger události webhooku pro pracovní postup:
name: code coverage
on:
push:
branches:
- main
pull_request:
branches:
- main, staging
jobs:
coverage:
runs-on: ubuntu-latest
# steps omitted for brevity
V předchozím pracovním postupu push
se události a pull_request
události aktivují, aby se pracovní postup spustil.
Příklad naplánované události
Následující příklad ukazuje, jak zadat aktivační událost naplánované události (cron job) pro pracovní postup:
name: scan
on:
schedule:
- cron: '0 0 1 * *'
# additional events omitted for brevity
jobs:
build:
runs-on: ubuntu-latest
# steps omitted for brevity
V předchozím pracovním postupu událost určujecron
, schedule
z '0 0 1 * *'
nichž se pracovní postup spustí první den každého měsíce. Spouštění pracovních postupů podle plánu je skvělé pro pracovní postupy, které dlouho trvá, nebo provádějí akce, které vyžadují méně častou pozornost.
Příklad ruční události
Následující příklad ukazuje, jak zadat ruční aktivační událost pro pracovní postup:
name: build
on:
workflow_dispatch:
inputs:
reason:
description: 'The reason for running the workflow'
required: true
default: 'Manual run'
# additional events omitted for brevity
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: 'Print manual run reason'
if: ${{ github.event_name == 'workflow_dispatch' }}
run: |
echo 'Reason: ${{ github.event.inputs.reason }}'
# additional steps omitted for brevity
V předchozím pracovním postupu workflow_dispatch
vyžaduje událost reason
jako vstup. GitHub to a jeho uživatelské rozhraní dynamicky mění, aby uživateli zobrazil výzvu k zadání důvodu ručního spuštění pracovního postupu. Zobrazí steps
se zadaný důvod od uživatele.
Další informace naleznete v tématu Události, které aktivují pracovní postupy.
.NET CLI
Rozhraní příkazového řádku .NET (CLI) je sada nástrojů pro různé platformy pro vývoj, vytváření, spouštění a publikování aplikací .NET. Rozhraní příkazového řádku .NET se používá run
jako součást jednotlivce steps
v souboru pracovního postupu. Mezi běžné příkazy patří:
Další informace najdete v tématu .NET CLI – přehled
Viz také
Podrobnější informace o GitHub Actions s .NET najdete v následujících zdrojích informací: