Repositório com templates que podem ser utilizados nas github actions de projetos laravel e angular.
▸ Template Laravel | ▸ Template Angular
Os arquivos com extensão .yml são arquivos que contém todas as regras para realizar o deploy, eles devem ser inseridos dentro da pasta .github/workflows, caso não exista, basta criá-la.
Os arquivos foram criados para serem utilizados em projetos laravel ou angular, mas podem ser adaptados para serem usados em projetos de outras linguagens. Também pode ser necessário alterações nos scripts, para definir por exemplo a pasta que irá rodar os comandos e etc, antes de utilizar, sempre revise o arquivo.
O endereço do servidor, usuário e key ficarão registradas nas secrets do github, por trazer mais segurança a esses dados de acesso ao servidor, para configurá-los basta seguir os passos abaixo.
- Acesse Settings.
- No menu a esquerda, clique em SECRETS > ACTIONS.
- Agora clique em NEW REPOSITORY SECRET e crie as seguintes chaves.
➤ PRODUÇÃO
- PRODUCAO_HOST: Deve ser informado o host do servidor
- PRODUCAO_USER: Deve ser informado o usurio de acesso ao servidor
- PRODUCAO_PORT: Deve ser informado a porta de acesso ao servidor
- PRODUCAO_KEY: Deve ser informado a chave privada (Para ver a chave privada rode o comando: cat ~/.ssh/id_rsa)
- PRODUCAO_PASSWORD: Caso não queira utilizar chave ssh, pode ser utilizado password.
➤ HOMOLOGAÇÃO
- HOMOLOGACAO_HOST: Deve ser informado o host do servidor
- HOMOLOGACAO_USER: Deve ser informado o usurio de acesso ao servidor
- HOMOLOGACAO_PORT: Deve ser informado a porta de acesso ao servidor
- HOMOLOGACAO_KEY: Deve ser informado a chave privada (Para ver a chave privada rode o comando: cat ~/.ssh/id_rsa)
- HOMOLOGACAO_PASSWORD: Caso não queira utilizar chave ssh, pode ser utilizado password.
➤ Se você não tiver chave privada, você pode executar ssh-keygen no terminal do servidor para gerar uma nova chave, em seguida, execute o comando cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys para permitir a conexão com o privado chave
➤ Caso o projeto tenha remote por HTTPS e não por SSH, você pode ter erros de credenciais quando o script tentar executar o git pull, uma solução seria alterar o remote para ssh, ou rodar esse comando: git config credential.helper store e logo em seguida rodar o git pull para ficar registrado as credenciais, assim as próximas requisiçes serão feitas usando essa credencial salva.
Documentação Oficial: Acessar