Python: Configurar as chaves SSH

Esta documentação faz parte do guia Implementar com GitHub Actions. Consulte o guia completo aqui: Como implementar o seu código Python utilizando o GitHub Actions.

👋 Bem-vindo à documentação da Stackhero!

A Stackhero disponibiliza uma solução Python cloud pronta a usar, concebida para simplificar o seu processo de deployment:

  • Implemente a sua aplicação em produção em segundos com um simples git push.
  • Utilize o seu próprio domínio, com configuração automática de certificado HTTPS para ligações seguras geridas por si.
  • Conte com backups automáticos, atualizações com um clique e preços previsíveis, para que se possa focar no seu código e não na gestão da infraestrutura.
  • Beneficie de elevada performance e segurança numa infraestrutura privada e dedicada. O seu ambiente está isolado e protegido.

Poupe tempo e simplifique o seu workflow: pode ter o seu código a funcionar com o alojamento Python cloud da Stackhero em apenas 5 minutos.

As chaves SSH permitem que o GitHub Actions se ligue de forma segura ao seu serviço Python para a implementação do código. Este passo é fundamental para proteger os seus serviços Stackhero.

No seu computador, pode gerar novas chaves SSH executando:

ssh-keygen -C "" -f /tmp/ssh_key -N ""

Primeiro, mostre a chave pública que acabou de gerar:

cat /tmp/ssh_key.pub

De seguida, no seu dashboard Stackhero, selecione o seu serviço Python "production" e clique no botão "Configure".

Obter definições do serviçoObter definições do serviço

Siga estes passos:

  1. Em SSH public keys, clique em Add a public key.
  2. Em Description, introduza GitHub Action.
  3. Em Key, cole a chave pública que copiou.

Adicionar chave públicaAdicionar chave pública

Vá à página do seu projeto GitHub, clique em Settings e depois em Environments. Escolha New environment.

Configurar ambientes no GitHubConfigurar ambientes no GitHub

No campo Name, escreva "production" e confirme.

Definir o ambienteDefinir o ambiente

Clique no botão No restriction e selecione Selected branches and tags.

Definir restrições do ambienteDefinir restrições do ambiente

Depois, clique em Add deployment branch or tag rule, introduza "production" no campo Name pattern e clique em Add rule.

Definir ramo do ambienteDefinir ramo do ambiente Definir ramo do ambienteDefinir ramo do ambiente

Na secção Environment secrets, clique em Add secret.

Adicionar segredoAdicionar segredo

Agora, mostre a chave privada que gerou anteriormente:

cat /tmp/ssh_key

Na configuração do segredo, utilize STACKHERO_SSH_PRIVATE_KEY como Nome e cole a chave privada como Valor.

Definir o segredo da chave privada SSHDefinir o segredo da chave privada SSH

De seguida, na secção Environment variables, clique em Add variable.

Definir variáveisDefinir variáveis

Introduza STACKHERO_ENDPOINT como Nome e cole o endpoint do seu serviço Python como Valor. Pode encontrar este endpoint no seu dashboard Stackhero.

Definir a variável endpointDefinir a variável endpoint

Se personalizou o nome de domínio do seu serviço, utilize a versão personalizada em vez de <XXXXXX>.stackhero-network.com.

Por motivos de segurança, é aconselhável remover agora as chaves SSH do seu computador, pois já não irá precisar delas:

rm /tmp/ssh_key /tmp/ssh_key.pub