Guia de início rápido: usar ações do GitHub para se conectar ao Banco de Dados do Azure para PostgreSQL - Servidor flexível
APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Flexível
Comece a usar as Ações do GitHub usando um fluxo de trabalho para implantar atualizações de banco de dados no Banco de Dados do Azure para o servidor flexível PostgreSQL.
Pré-requisitos
Necessita de:
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um repositório GitHub com dados de exemplo (
data.sql
). Se você não tiver uma conta no GitHub, inscreva-se gratuitamente. - Uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL.
Visão geral do arquivo de fluxo de trabalho
Um fluxo de trabalho de Ações do GitHub é definido por um arquivo YAML (.yml) no caminho do /.github/workflows/
repositório. Esta definição contém as várias etapas e parâmetros que compõem o fluxo de trabalho.
O ficheiro tem duas secções:
Section | Tarefas |
---|---|
Autenticação | 1. Gere credenciais de implantação. |
Implementar | 1. Implante o banco de dados. |
Gerar credenciais de implantação
Crie uma entidade de serviço com o comando az ad sp create-for-rbac na CLI do Azure. Execute este comando com o Azure Cloud Shell no portal do Azure ou selecionando o botão Experimentar .
az ad sp create-for-rbac --name "myML" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
--json-auth
O parâmetro --json-auth
está disponível nas versões >da CLI do Azure = 2.51.0. Versões anteriores a este uso --sdk-auth
com um aviso de descontinuação.
No exemplo acima, substitua os espaços reservados pela ID da assinatura, nome do grupo de recursos e nome do aplicativo. A saída é um objeto JSON com as credenciais de atribuição de função que fornecem acesso ao seu aplicativo do Serviço de Aplicativo semelhante ao abaixo. Copie este objeto JSON para mais tarde.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
Copie a cadeia de conexão de servidor flexível do Banco de Dados do Azure para PostgreSQL
No portal do Azure, vá para sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL e, no menu de recursos, em Configurações, selecione Conectar. Nessa página, use a caixa de combinação Nome do banco de dados para selecionar o nome do banco de dados ao qual você deseja se conectar. Expanda a seção Conectar do seu aplicativo, copie ADO.NET cadeia de conexão e substitua o valor {your_password}
do espaço reservado pela sua senha real. A cadeia de conexão é semelhante a esta.
Server={servername.postgres.database.azure.com};Database={your_database};Port=5432;User Id={adminusername};Password={your_password};Ssl Mode=Require;
Você usa a cadeia de conexão como um segredo do GitHub.
Configurar os segredos do GitHub
No GitHub, vá para o seu repositório.
Vá para Configurações no menu de navegação.
Selecione Segredos de Segurança > e Ações de variáveis>.
Selecione Novo segredo do repositório.
Cole toda a saída JSON do comando CLI do Azure no campo de valor do segredo. Dê o nome
AZURE_CREDENTIALS
ao segredo .Selecione Add secret (Adicionar segredo).
Adicione o seu fluxo de trabalho
Vá para Ações para seu repositório GitHub.
Selecione Configurar seu fluxo de trabalho você mesmo.
Exclua tudo após a
on:
seção do seu arquivo de fluxo de trabalho. Por exemplo, o fluxo de trabalho restante pode ter esta aparência.name: CI on: push: branches: [ main ] pull_request: branches: [ main ]
Renomeie seu fluxo de trabalho
PostgreSQL for GitHub Actions
e adicione as ações de check-out e login. Essas ações verificam o código do seu site e autenticam-se com o Azure usando o(s) segredo(s) do GitHub que você criou anteriormente.name: PostgreSQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }}
Use a ação Implantar do Azure PostgreSQL para se conectar à sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. Substitua
POSTGRESQL_SERVER_NAME
pelo nome do servidor. Você deve ter um arquivo de dados de servidor flexível do Banco de Dados do Azure para PostgreSQL nomeadodata.sql
no nível raiz do repositório.- uses: azure/postgresql@v1 with: connection-string: ${{ secrets.AZURE_POSTGRESQL_CONNECTION_STRING }} server-name: POSTGRESQL_SERVER_NAME plsql-file: './data.sql'
Conclua seu fluxo de trabalho adicionando uma ação para sair do Azure. Aqui está o fluxo de trabalho concluído. O arquivo aparece na
.github/workflows
pasta do repositório.name: PostgreSQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: azure/login@v1 with: client-id: ${{ secrets.AZURE_CREDENTIALS }} - uses: azure/postgresql@v1 with: server-name: POSTGRESQL_SERVER_NAME connection-string: ${{ secrets.AZURE_POSTGRESQL_CONNECTION_STRING }} plsql-file: './data.sql' # Azure logout - name: logout run: | az logout
Revisar sua implantação
Vá para Ações para seu repositório GitHub.
Abra o primeiro resultado para ver os logs detalhados da execução do seu fluxo de trabalho.
Clean up resources (Limpar recursos)
Quando o banco de dados e o repositório flexíveis do Banco de Dados do Azure para PostgreSQL não forem mais necessários, limpe os recursos implantados excluindo o grupo de recursos e o repositório GitHub.