Exercício – Automatizar as atualizações com o GitHub Actions

Concluído

O GitHub Actions é uma forma de automatizar os pipelines de CI/CD para vários serviços diferentes, incluindo o Banco de Dados SQL do Azure.

Lembre-se de que no cenário de uso de ônibus, você criará a base do aplicativo com o banco de dados. Quando desejar atualizar o banco de dados ou implantar as mesmas configurações automaticamente em um novo banco de dados, você poderá usar o GitHub Actions.

Para automatizar as atualizações, você precisará configurar os segredos do GitHub e um arquivo YAML. Depois que essa configuração for feita, os novos commits com push efetuado vão disparar os fluxos de trabalho que atualizarão o Banco de Dados SQL do Azure ou outros serviços.

Configurar segredos com o GitHub de modo seguro

Os segredos do GitHub apresentam um modo de armazenar com segurança segredos, chaves e outras informações confidenciais no GitHub. Nesta seção, você criará um segredo do GitHub que inclui a cadeia de conexão do Banco de Dados SQL do Azure.

  1. Em um arquivo de texto, bloco de notas ou papel, determine a cadeia de conexão do seu Banco de Dados SQL do Azure. Ela será semelhante a Server=<server-name>.database.windows.net,1433;Initial Catalog=bus-db;User Id=cloudadmin;Password=<your-password>;Connection Timeout=30;

  2. Navegue até o repositório deste módulo no GitHub (verifique se você está conectado). Ele será semelhante a https://github.com/<your-git-username>/serverless-full-stack-apps-azure-sql.

  3. Selecione as Configurações do repositório.

  4. Selecione Segredos e variáveis>Ações>Novo segredo do repositório e insira as seguintes informações:

    1. Nome: AZURE_SQL_CONNECTION_STRING
    2. Segredo: cadeia de conexão da etapa anterior
  5. Selecione Adicionar segredo.

Configurar o arquivo YAML para o GitHub Actions

Há vários arquivos YAML de modelo disponíveis no repositório de código. Para este módulo, você usará apenas o arquivo de fluxo de trabalho para Banco de Dados SQL do Azure.

  1. No Visual Studio Code, selecione o ícone do Explorer na barra de atividades para exibir os arquivos do repositório. Se você não o encontrar, selecione Arquivo>Abrir pasta e navegue até a localização em que você clonou o repositório.

  2. Na pasta .github\workflows, renomeie azuresqldatabase.yml.template como azuresqldatabase.yml.

  3. Examine o modelo e procure entender o que o fluxo de trabalho fará e como ele atualizará o banco de dados.

Efetuar push de commits e monitorar os resultados usando o Visual Studio Code e o GitHub

Agora que o segredo do GitHub e o arquivo de fluxo de trabalho estão configurados, você está pronto para efetuar push dos commits e observar o fluxo de trabalho.

  1. Selecione o ícone de controle do código-fonte na barra de atividades.

  2. Na caixa Mensagem, insira "Habilitar o banco de dados YAML" ou alguma outra mensagem.

  3. Clique na marca de seleção. Se você receber um aviso sobre a confirmação sem preparar nenhum arquivo, poderá selecionar Sim para preparar os arquivos alterados.

  4. Selecione ...>Efetuar push. Isso efetua push das atualizações para o repositório hospedado no GitHub e inicia o GitHub Actions.

    Importante

    Se for solicitado que você faça logon, use seu nome de usuário do GitHub e obtenha um token de acesso pessoal a ser fornecido em vez da senha do GitHub. Você pode fazer isso acessando https://github.com/settings/tokens/new. Adicione uma observação VSCode, marque todas as caixas e selecione Gerar token. Copie o texto do token e armazene-o em uma localização segura. Novamente no Visual Studio Code, use o token como sua senha/token para fazer logon no GitHub.

  5. Navegue até o repositório do GitHub deste módulo e selecione Ações. O GitHub Actions permite automatizar, personalizar e executar seus fluxos de trabalho de desenvolvimento de software diretamente em seu repositório.

  6. Observe o conteúdo do fluxo de trabalho que está em execução (ou foi concluído). Observe como a ação do SQL do Azure usa o arquivo .dacpac no repositório para implantar o estado final do banco de dados no Banco de Dados SQL do Azure.