Exercício - Implantar um aplicativo Spring Boot de exemplo
Neste exercício, você usará um fluxo de trabalho automatizado para criar e implantar seu aplicativo de exemplo do Spring Boot.
Configurar uma ação do GitHub para implantar o aplicativo de exemplo
Agora que você provisionou seus recursos do Azure, pode implantar seu aplicativo Spring Boot de exemplo.
Para criar seu fluxo de trabalho do Maven GitHub, você usará a ferramenta interna do assistente de integração contínua e entrega contínua (CI/CD) que está disponível no Centro de Implantação no portal do Serviço de Aplicativo do Azure.
O Centro de Implantação do Serviço de Aplicativo do Azure gera automaticamente um arquivo de fluxo de trabalho de Ações do GitHub baseado em sua pilha de aplicativos. Em seguida, o Centro de Implantação confirma o arquivo no repositório GitHub no diretório correto. O Centro de Implantação também vincula sua ação do GitHub a um perfil de publicação do Serviço de Aplicativo do Azure.
No portal do Azure, vá para seu aplicativo Web do Serviço de Aplicativo do Azure.
No painel esquerdo, expanda Implantação e selecione Centro de Implantação.
Na lista suspensa Origem, em Implantação contínua (CI/CD), selecione GitHub.
Selecione Ações do GitHub. (Este deve ser o padrão, mas se não for, selecione Altere o provedor para carregar as opções do provedor .)
Em Configurações, nas listas suspensas, faça o seguinte:
a. Selecione seu repositório GitHub.
b. Para ramificação, selecione principal.
c. Para pilha de aplicativos, selecione JAVA 8.Na página final, revise suas seleções e visualize o arquivo de fluxo de trabalho que será confirmado no repositório.
Selecione Salvar para confirmar o arquivo de fluxo de trabalho no repositório e comece imediatamente a criar e implantar seu aplicativo.
Nota
Você também pode acionar o fluxo de trabalho Ações do GitHub em seu repositório selecionando a guia Ações , selecionando o fluxo de trabalho de compilação e implantação e, em seguida, selecionando Reexecutar trabalhos.
Confirme a compilação de ações do GitHub
No repositório do GitHub, selecione a guia Ações e, no lado esquerdo, em Todos os fluxos de trabalho, selecione "Criar e implantar o aplicativo JAR no Azure Web App".
Em seguida, na tabela do lado direito, em Execução do fluxo de trabalho, selecione a execução do fluxo de trabalho Adicionar ou atualizar a configuração do fluxo de trabalho de implantação do Serviço de Aplicativo.
Aguarde até que a execução do fluxo de trabalho seja concluída e, em seguida, no trabalho Implantar na execução do fluxo de trabalho, copie a URL no trabalho Implantar que exibe a URL do aplicativo Web do Azure.
Finalmente, abra a URL em um navegador e verifique se seu aplicativo Java está implantado, conectado ao seu banco de dados MySQL e está retornando dados.
Próximos passos
Parabéns! Agora você tem dois fluxos de trabalho do GitHub Actions: uma ação de provisionamento e uma ação de compilação e implantação.
Cada vez que você insere um git push
comando para confirmar seu código, sua ação de compilação e implantação é acionada e seu aplicativo é implantado.
Importante
Executar novamente o provisionamento de sua ação do GitHub não recriará seus recursos se eles já existirem. Você precisará excluir seu grupo de recursos ou recursos manualmente e, em seguida, executar novamente a ação do GitHub.
Executar novamente sua ação de compilação e implantação do GitHub substituirá seu aplicativo.
Se você recriar sua instância do Serviço de Aplicativo, também precisará alterar para o novo perfil de publicação. Você precisa alterar apenas a seguinte linha:
publish-profile: ${{ secrets.AzureAppService_PublishProfile_c1ee8d191003493b9c9e13a9b78ad2c3 }}
Configurar um Pipeline do Azure para implantar o aplicativo de exemplo
Como antes, você precisará criar um Pipeline do Azure para criar e implantar seu aplicativo.
No Azure DevOps, vá para seu projeto, selecione "Pipelines" e selecione "New Pipeline" (canto superior direito).
Agora você receberá quatro guias para configurar seu pipeline:
- Na guia "Conectar", selecione "GitHub" (arquivo YAML).
- Na guia "Selecionar", selecione o repositório GitHub que contém seu modelo.
- Na guia "Configurar", selecione para usar um "Arquivo YAML do Azure Pipelines existente".
- No caminho, desta vez, selecione "/azuredevops/build_deploy.yml"
- Selecione Continuar para ir para a guia "*Review" e revise seu pipeline antes de executá-lo.
Na tela Revisar seu pipeline YAML, inspecione o arquivo Yaml que você usará para criar seu pipeline:
name: Build and Deploy
trigger:
- main
stages:
# Build your Spring Boot App using Maven
- stage: Build
displayName: Build stage
jobs:
- job: MavenPackageAndPublishArtifacts
displayName: Maven Package and Publish Artifacts
pool:
vmImage: 'ubuntu-latest'
steps:
- task: Maven@3
displayName: 'Maven Package'
inputs:
mavenPomFile: 'pom.xml'
- task: CopyFiles@2
displayName: 'Copy Files to artifact staging directory'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)'
Contents: '**/target/*.?(war|jar)'
TargetFolder: $(Build.ArtifactStagingDirectory)
- upload: $(Build.ArtifactStagingDirectory)
artifact: drop
# Deploy to Azure using the AzureWebApp task using your Service Connection
- stage: Deploy
displayName: Deploy stage
dependsOn: Build
condition: succeeded()
jobs:
- deployment: DeployLinuxWebApp
displayName: Deploy Linux Web App
environment: 'production'
pool:
vmImage: 'ubuntu-latest'
strategy:
runOnce:
deploy:
steps:
- task: AzureWebApp@1
displayName: 'Azure Web App Deploy'
inputs:
azureSubscription: $(serviceConnection)
appType: webAppLinux
appName: '$(webAppName)'
package: '$(Pipeline.Workspace)/drop/**/target/*.?(war|jar)'
Vejamos alguns dos campos que usamos na configuração "Build":
- azureSubscription: Sua assinatura do Azure
- appType: Seu tipo de aplicativo Web
- appName: O nome do seu serviço de aplicativo existente
- package: o caminho do arquivo para o pacote ou uma pasta que contém o conteúdo do serviço de aplicativo
Adicionar variáveis de compilação
Assim como acontece com nosso pipeline de provisionamento, antes de salvar e executar o pipeline de compilação e implantação, você precisa adicionar as variáveis do pipeline:
- Selecione Variáveis no canto superior direito.
- Adicione uma variável chamada serviceConnection com o valor como o nome da sua Conexão de Serviço.
- Selecione OK no canto inferior direito para salvar a variável.
- Adicione uma segunda variável chamada webAppName com o nome do Serviço de Aplicativo (mesmo valor definido na variável Terraform "application_name").
- Selecione OK para salvar a variável.
- Selecione Salvar no canto inferior direito para salvar ambas as variáveis.
Veja o pipeline correr
- Selecione && para salvar e executar o pipeline
- Como você fez para seu pipeline de provisionamento , rastreie o processo de compilação através de cada um dos estágios e etapas.
- Verifique se seu aplicativo Java está implantado, conectado ao seu banco de dados MySQL e retornando dados.
Próximos passos
Parabéns! Agora você tem dois fluxos de trabalho do Pipeline do Azure: um pipeline de provisionamento e um pipeline de compilação e implantação.
Cada vez que você insere um git push
comando para confirmar seu código na ramificação principal , seu pipeline de compilação e implantação é acionado e seu aplicativo é implantado.
Importante
A reexecução do Pipeline de Provisão não recriará seus recursos se eles já existirem. Você precisará excluir seu grupo de recursos ou recursos manualmente e, em seguida, executar novamente o Pipeline. Você pode encontrar mais informações sobre como conseguir isso melhor na produção na seção Resumo.
Executar novamente seu pipeline de compilação e implantação substituirá seu aplicativo.
A próxima unidade é uma verificação de conhecimento para ver o que você aprendeu neste módulo.