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 da Stackhero!

A Stackhero disponibiliza uma plataforma PHP cloud concebida para implementações rápidas e fiáveis:

  • Implemente a sua aplicação PHP em produção em segundos com um simples git push.
  • Utilize o seu próprio domínio, com certificados HTTPS automáticos configurados para si. Não são necessários passos manuais.
  • Conte com backups automáticos, atualizações com um clique e preços claros e previsíveis. A Stackhero trata destes detalhes, para que se possa concentrar no seu código.
  • Beneficie de elevada performance e segurança numa infraestrutura privada e dedicada, construída especificamente para as suas aplicações.

Torne o seu fluxo de trabalho mais eficiente e poupe tempo. Começar a utilizar o PHP cloud hosting da Stackhero demora apenas alguns minutos.

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.