Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste início rápido, você aprenderá como criar um fluxo de trabalho do GitHub para testar seu código-fonte .NET. Testar automaticamente o seu código .NET no GitHub é conhecido como integração contínua (CI), onde pull requests ou alterações na origem disparam fluxos de trabalho para execução. Juntamente com a construção do código-fonte, o teste garante que o código-fonte compilado funcione como o autor pretendia. Na maioria das vezes, os testes de unidade servem como feedback imediato para ajudar a garantir a validade das alterações no código-fonte.
Pré-requisitos
- Uma conta GitHub.
- Um repositório de código-fonte .NET.
Criar um arquivo de fluxo de trabalho
No repositório GitHub, adicione um novo arquivo YAML ao diretório .github/workflows . Escolha um nome de arquivo significativo, algo que indique claramente o que o fluxo de trabalho pretende fazer. Para obter mais informações, consulte Arquivo de fluxo de trabalho.
Importante
O GitHub requer que os arquivos de composição do fluxo de trabalho sejam colocados no diretório .github/workflows .
Os arquivos de fluxo de trabalho normalmente definem uma composição de uma ou mais ações do GitHub por meio do jobs.<job_id>/steps[*]. Para obter mais informações, consulte Sintaxe do fluxo de trabalho para ações do GitHub.
Crie um novo arquivo chamado build-and-test.yml, copie e cole o seguinte conteúdo YML nele:
name: build and test
on:
push:
pull_request:
branches: [ main ]
paths:
- '**.cs'
- '**.csproj'
env:
DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
jobs:
build-and-test:
name: build-and-test-${{matrix.os}}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v3
- name: Setup .NET Core
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test
run: dotnet test --no-restore --verbosity normal
Na composição do fluxo de trabalho anterior:
O
name: build and testdefine o nome, e "construir e testar" aparecerá nas insígnias de status do fluxo de trabalho.name: build and testO
onnó indica os eventos que acionam o fluxo de trabalho.on: push: pull_request: branches: [ main ] paths: - '**.cs' - '**.csproj'- Acionado quando um
pushoupull_requestocorre na ramificaçãomainonde quaisquer arquivos que forem alterados terminem com as extensões .cs ou .csproj.
- Acionado quando um
O
envnó define variáveis de ambiente nomeadas (env var).env: DOTNET_VERSION: '6.0.401' # The .NET SDK version to use- A variável
DOTNET_VERSIONde ambiente recebe o valor'6.0.401'. A variável de ambiente é posteriormente referenciada para especificar odotnet-versionactions/setup-dotnet@v3da Ação do GitHub.
- A variável
O
jobsnó constrói as etapas a serem executadas pelo fluxo de trabalho.jobs: build-and-test: name: build-and-test-${{matrix.os}} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macOS-latest] steps: - uses: actions/checkout@v3 - name: Setup .NET Core uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.DOTNET_VERSION }} - name: Install dependencies run: dotnet restore - name: Build run: dotnet build --configuration Release --no-restore - name: Test run: dotnet test --no-restore --verbosity normal- Há um único trabalho, nomeado
build-<os>, onde o<os>é o nome do sistema operativo dostrategy/matrix. Osnameelementos eruns-onsão dinâmicos para cada valor nomatrix/os. Isso será executado nas versões mais recentes do Ubuntu, Windows e macOS. - A
actions/setup-dotnet@v3ação do GitHub é usada para configurar o SDK do .NET com a versão especificada daDOTNET_VERSIONvariável de ambiente. - O
dotnet restorecomando foi chamado. - O comando
dotnet buildfoi chamado. - O comando
dotnet testfoi chamado.
- Há um único trabalho, nomeado
Criar um selo de status do fluxo de trabalho
É uma nomenclatura comum para repositórios do GitHub ter um arquivo README.md na raiz do diretório do repositório. Da mesma forma, é bom relatar o status mais recente para vários fluxos de trabalho. Todos os fluxos de trabalho podem gerar um selo de status, que são visualmente atraentes dentro do arquivo README.md . Para adicionar o selo de status do fluxo de trabalho:
No repositório GitHub, selecione a opção de navegação Ações .
Todos os fluxos de trabalho do repositório são exibidos à esquerda. Selecione o fluxo de trabalho desejado e o botão de reticências (...).
- O botão de reticências (...) expande as opções de menu para o fluxo de trabalho selecionado.
Selecione a opção de menu Criar selo de status .
Selecione o botão Copiar selo de status Markdown .
Cole o Markdown no arquivo README.md , salve o arquivo, confirme e envie as alterações.
Para saber mais, consulte Adicionando um selo de status do fluxo de trabalho.
Exemplo de selo de status do fluxo de trabalho de teste
| Passagem | Falhando | Sem estatuto |
|---|---|---|
|
|
|
|
Ver também
- restauração dotnet
- dotnet construir
- dotnet teste
- Teste de unidade de aplicativos .NET
- ações/checkout
- ações/setup-dotnet