PHP: Configurar o workflow do GitHub Actions

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

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

Stackhero oferece uma solução PHP cloud pronta a usar que proporciona uma série de benefícios, incluindo:

  • Implemente a sua aplicação em segundos com um simples git push.
  • Utilize o seu próprio nome de domínio e beneficie da configuração automática de certificados HTTPS para uma segurança reforçada.
  • Desfrute de tranquilidade com backups automáticos, atualizações com um clique, e uma tarifação simples, transparente e previsível.
  • Obtenha performance ótima e segurança robusta graças a uma VM privada e dedicada.

Poupe tempo e simplifique a sua vida: só leva 5 minutos para experimentar a solução de PHP cloud hosting do Stackhero!

Agora vai criar um ficheiro de workflow do GitHub Actions para automatizar as suas implementações. No seu repositório Git, crie uma pasta chamada .github/workflows e adicione um ficheiro chamado deploy-to-stackhero.yml com o seguinte conteúdo:

# File: .github/workflows/deploy-to-stackhero.yml

name: Deploy to Stackhero
run-name: Deploy branch "${{ github.ref_name }}" to Stackhero

on:
  push:
    # Lista de ramos que irão acionar a ação de deploy após um git push
    # Não se esqueça de criar um ambiente correspondente no GitHub (em "Settings" -> "Environments") para cada ramo
    # Depois adicione o secret "STACKHERO_SSH_PRIVATE_KEY" e a variável "STACKHERO_ENDPOINT" nesse ambiente
    branches: [ "production", "staging" ]

jobs:
  Deploy:
    environment: ${{ github.ref_name }}
    runs-on: ubuntu-latest
    steps:
    - uses: stackhero-io/github-actions-deploy-to-stackhero@v1
      with:
        # O secret "STACKHERO_SSH_PRIVATE_KEY" e a variável "STACKHERO_ENDPOINT" devem estar definidos no ambiente GitHub correspondente (em "Settings" -> "Environments")
        ssh_private_key: ${{ secrets.STACKHERO_SSH_PRIVATE_KEY }}
        endpoint: ${{ vars.STACKHERO_ENDPOINT }}

Depois de adicionar este ficheiro, pode confirmar as alterações executando estes comandos no seu terminal:

git add -A .
git commit -m "Add GitHub Actions to deploy to Stackhero"

Para criar o ramo de produção, pode executar:

git checkout -b production

Depois faça push das alterações para o GitHub:

git push --set-upstream origin production

Isto irá enviar o seu código para o ramo production no GitHub. O GitHub Actions irá então executar automaticamente e implementar o seu código na instância Stackhero associada. Para verificar o estado da implementação, pode aceder ao seu projeto GitHub e clicar em Actions.

GitHub Actions que implementou em produçãoGitHub Actions que implementou em produção

Parabéns! O seu projeto está agora configurado para implementação automática em produção utilizando o GitHub Actions.