Docker: Configurar o workflow do GitHub Actions

Esta documentação faz parte do guia Implementar com GitHub Actions. Consulte o guia completo aqui: Saiba como implementar os seus contentores Docker utilizando o GitHub Actions.

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

A Stackhero oferece uma solução Docker cloud CaaS (Containers as a Service) pronta a usar que proporciona uma série de benefícios, incluindo:

  • Implemente facilmente os seus containers em produção com apenas um docker-compose up.
  • Nome de domínio personalizável seguro com HTTPS (por exemplo, https://api.sua-empresa.com, https://www.sua-empresa.com, https://backoffice.sua-empresa.com).
  • Desempenho ótimo e segurança robusta alimentados por uma VM privada e dedicada.
  • Atualizações sem esforço com apenas um clique.

Poupe tempo e simplifique a sua vida: são necessários apenas 5 minutos para experimentar a solução de hospedagem cloud Docker CaaS da Stackhero e implementar os seus containers em produção!

Na sua máquina local, navegue até ao seu repositório Git e crie uma pasta chamada .github/workflows. Dentro desta pasta, crie um ficheiro chamado deploy-to-stackhero.yml com o seguinte conteúdo:

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

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

on:
  push:
    # These branches trigger the deploy action on push.
    # Be sure to create an environment matching the branch name in GitHub (under Settings > Environments).
    # Then add the secret STACKHERO_CERTIFICATES_PASSWORD and variable STACKHERO_ENDPOINT in that environment.
    branches: [ "production", "staging" ]

jobs:
  Deploy:
    environment: ${{ github.ref_name }}
    runs-on: ubuntu-latest
    steps:
    - uses: stackhero-io/github-actions-deploy-docker-containers-to-stackhero@v1
      with:
        # The secret STACKHERO_CERTIFICATES_PASSWORD and the variable STACKHERO_ENDPOINT should be defined in the corresponding branch environment on GitHub.
        certificates_password: ${{ secrets.STACKHERO_CERTIFICATES_PASSWORD }}
        endpoint: ${{ vars.STACKHERO_ENDPOINT }}
        # deployment_command is optional. You can use it if you need to customize the Docker Compose command.
        deployment_command: ${{ vars.STACKHERO_DEPLOY_COMMAND }}

Pode confirmar as suas alterações com:

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

Para criar uma branch de produção, execute:

git checkout -b production

E depois faça push da sua branch de produção para o GitHub:

git push --set-upstream origin production

Assim que o seu código for enviado, o GitHub Actions irá implementá-lo automaticamente na sua instância Stackhero de produção. Pode acompanhar o progresso da implementação no separador Actions do seu projeto GitHub.

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

E está feito. A sua configuração está agora pronta para implementar automaticamente o seu código em produção utilizando o GitHub Actions.