Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste início rápido, você aprenderá a criar um fluxo de trabalho do GitHub para publicar seu aplicativo .NET no código-fonte. A publicação automática do aplicativo .NET do GitHub para um destino é chamada de CD (implantação contínua). Há muitos destinos possíveis para publicar um aplicativo, neste guia rápido você publicará no Azure.
Pré-requisitos
- Uma conta do GitHub.
- Um repositório de código-fonte do .NET.
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um aplicativo Web ASP.NET Core.
- Um recurso do Serviço de Aplicativo do Azure.
Adicionar perfil de publicação
Para publicar o aplicativo no Azure, abra o portal do Azure para a instância do Serviço de Aplicativo do aplicativo. No recurso Visão Geral, selecione Obter perfil de publicação e salve o *.PublishSetting file localmente.
Aviso
O perfil de publicação contém informações confidenciais, como credenciais para acessar o recurso do Serviço de Aplicativo do Azure. Essas informações devem ser sempre tratadas com muito cuidado.
No repositório GitHub, navegue até Configurações e selecione Segredos no menu de navegação à esquerda. Selecione Novo segredo do repositório para adicionar um novo segredo.
Insira AZURE_PUBLISH_PROFILE como o Nome e cole o conteúdo XML do perfil de publicação na área de texto Valor . Selecione Adicionar segredo. Para obter mais informações, consulte Os segredos criptografados.
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 indicará claramente o que o fluxo de trabalho pretende fazer. Para obter mais informações, consulte o arquivo de fluxo de trabalho.
Importante
O GitHub exige que os arquivos de composição de fluxo de trabalho sejam colocados no diretório .github/fluxos de trabalho .
Os arquivos de fluxo de trabalho normalmente definem uma composição de uma ou mais Ações do GitHub por meio da jobs.<job_id>/steps[*]. Para obter mais informações, consulte a sintaxe de fluxo de trabalho para o GitHub Actions.
Crie um novo arquivo chamado publish-app.yml, copie e cole o seguinte conteúdo YML nele:
name: publish
on:
push:
branches: [ production ]
env:
AZURE_WEBAPP_NAME: DotNetWeb
AZURE_WEBAPP_PACKAGE_PATH: '.' # Set this to the path to your web app project, defaults to the repository root:
DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
jobs:
publish:
runs-on: ubuntu-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: |
cd DotNet.WebApp
dotnet build --configuration Release --no-restore
dotnet publish -c Release -o ../dotnet-webapp -r linux-x64 --self-contained true /p:UseAppHost=true
- name: Test
run: |
cd DotNet.WebApp.Tests
dotnet test --no-restore --verbosity normal
- uses: azure/webapps-deploy@v2
name: Deploy
with:
app-name: ${{ env.AZURE_WEBAPP_NAME }}
publish-profile: ${{ secrets.AZURE_PUBLISH_PROFILE }}
package: '${{ env.AZURE_WEBAPP_PACKAGE_PATH }}/dotnet-webapp'
Na composição do fluxo de trabalho anterior:
O
name: publishdefine o nome, "publicar" aparecerá em emblemas de status de fluxo de trabalho.name: publishO
onnó indica os eventos que disparam o fluxo de trabalho.on: push: branches: [ production ]- Disparado quando ocorre um
pushna ramificaçãoproduction.
- Disparado quando ocorre um
O
envnó define variáveis de ambiente nomeadas (env var).env: AZURE_WEBAPP_NAME: DotNetWeb AZURE_WEBAPP_PACKAGE_PATH: '.' # Set this to the path to your web app project, defaults to the repository root: DOTNET_VERSION: '6.0.401' # The .NET SDK version to use- A variável
AZURE_WEBAPP_NAMEde ambiente recebe o valorDotNetWeb. - A variável
AZURE_WEBAPP_PACKAGE_PATHde ambiente recebe o valor'.'. - A variável
DOTNET_VERSIONde ambiente recebe o valor'6.0.401'. A variável de ambiente é referenciada posteriormente para especificar adotnet-versionação doactions/setup-dotnet@v3GitHub.
- A variável
O
jobsnó cria as etapas para o fluxo de trabalho a ser realizado.jobs: publish: runs-on: ubuntu-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: | cd DotNet.WebApp dotnet build --configuration Release --no-restore dotnet publish -c Release -o ../dotnet-webapp -r linux-x64 --self-contained true /p:UseAppHost=true - name: Test run: | cd DotNet.WebApp.Tests dotnet test --no-restore --verbosity normal - uses: azure/webapps-deploy@v2 name: Deploy with: app-name: ${{ env.AZURE_WEBAPP_NAME }} publish-profile: ${{ secrets.AZURE_PUBLISH_PROFILE }} package: '${{ env.AZURE_WEBAPP_PACKAGE_PATH }}/dotnet-webapp'- Há um único trabalho chamado
publishque será executado na versão mais recente do Ubuntu. - 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 é chamado. - O
dotnet buildcomando é chamado. - O
dotnet publishcomando é chamado. - O
dotnet testcomando é chamado. - A ação do GitHub
azure/webapps-deploy@v2implanta o aplicativo compublish-profileepackagedeterminados.-
publish-profileé atribuído a partir do segredo do repositórioAZURE_PUBLISH_PROFILE.
-
- Há um único trabalho chamado
Criar um selo de status de fluxo de trabalho
É comum que os repositórios do GitHub tenham 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 uma notificação de status, que é visualmente atraente 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 no lado esquerdo, 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 do fluxo de trabalho selecionado.
Selecione a opção Criar emblema de status.
Selecione o botão Copiar selo de status Markdown .
Cole o Markdown no arquivo README.md , salve o arquivo, confirme e envie por push as alterações.
Para obter mais informações, consulte Adicionar um selo de status de fluxo de trabalho.
Insígnia de exemplo de status do fluxo de trabalho de publicação
| Passagem | Falhando | Sem status |
|---|---|---|
|
|
|
|