Docker: Configurar el workflow de GitHub Actions

Esta documentación forma parte de la guía Despliegue con GitHub Actions. Consulte la guía completa aquí: Aprenda a desplegar sus contenedores Docker utilizando GitHub Actions.

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero ofrece una solución Docker cloud CaaS (Containers as a Service) lista para usar que proporciona una serie de beneficios, incluyendo:

  • Despliega fácilmente tus contenedores en producción con solo un docker-compose up.
  • Nombre de dominio personalizable asegurado con HTTPS (por ejemplo, https://api.tu-empresa.com, https://www.tu-empresa.com, https://backoffice.tu-empresa.com).
  • Rendimiento óptimo y seguridad robusta gracias a una VM privada y dedicada.
  • Actualizaciones sin esfuerzo con solo un clic.

Ahorra tiempo y simplifica tu vida: ¡solo toma 5 minutos probar la solución de alojamiento en la nube Docker CaaS de Stackhero y desplegar tus contenedores en producción!

En su máquina local, acceda a su repositorio Git y cree un directorio llamado .github/workflows. Dentro de este directorio, cree un archivo llamado deploy-to-stackhero.yml con el siguiente contenido:

# 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 }}

Puede confirmar sus cambios con:

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

Para crear una rama de producción, ejecute:

git checkout -b production

Y luego suba su rama de producción a GitHub:

git push --set-upstream origin production

Una vez que su código esté subido, GitHub Actions lo desplegará automáticamente en su instancia de Stackhero de producción. Puede monitorizar el progreso del despliegue revisando la pestaña Actions en su proyecto de GitHub.

GitHub Actions que ha desplegado en producciónGitHub Actions que ha desplegado en producción

Eso es todo. Ahora tiene configurado el despliegue automático de su código en producción utilizando GitHub Actions.