Saltar al contenido principal
CI/CD

Construcción automática y lanzamiento con Gitlab

Crear su propia canalización CI/CD con Gitlab de forma gratuita, desplegar su aplicación cada vez que pulse en main.

Créditos del artículo

Martin Donadieu

Escritor

Valeria

Revisor

Jordan

Editor

Construcción automática y lanzamiento con Gitlab

Esta guía se centra en el CI de GitLab, pero puedes adaptarlo con un pequeño ajuste a cualquier otra plataforma CI/CD.

Introducción

Asegúrate de haber agregado tu aplicación primero a Capgo, esta guía solo se centra en la fase de carga.

Convenio de commit

Primero debes empezar a seguir el convenio de commit conventional commits` esto te ayudará a que las herramientas entiendan cómo actualizar el número de versión, solo lleva 5 minutos aprenderlo.

Comits convencionales

CI de GitLab para etiquetas

Luego debes crear tu primer CI de GitLab para que automatice la creación de etiquetas.

Crear un archivo en este camino: .github/workflows/bump_version.yml

con este contenido:

name: Bump version

on:
  push:
    branches:
      - main

jobs:
  bump-version:
    if: "!startsWith(github.event.head_commit.message, 'chore(release):')"
    runs-on: ubuntu-latest
    name: "Bump version and create changelog with standard version"
    steps:
      - name: Check out
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
          filter: blob:none
          token: '${{ secrets.PERSONAL_ACCESS_TOKEN }}'
      - name: Git config
        run: |
          git config --local user.name "github-actions[bot]"
          git config --local user.email "github-actions[bot]@users.noreply.github.com"
      - name: Create bump and changelog
        run: npx capacitor-standard-version
      - name: Push to origin
        run: |
          CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
          remote_repo="https://${GITHUB_ACTOR}:${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git"
          git pull $remote_repo $CURRENT_BRANCH
          git push $remote_repo HEAD:$CURRENT_BRANCH --follow-tags --tags

Esto liberará una etiqueta para cada commit en tu rama principal. Y agregará una entrada de cambios para cada commit en la rama principal en CHANGELOG.md.

No te preocupes si no tienes este archivo, se creará para ti.

Para que esto funcione, crea un TOKEN DE ACCESO PERSONAL y agrega a tus variables de GitLab CI/CD como PERSONAL_ACCESS_TOKEN.

Esto es necesario para que el CI pueda cometer los cambios de la changelog.

Cuando crees el token, elige expiración como never y el alcance como repo.

Finalmente, para que la herramienta entienda dónde se guarda tu versión, debes crear el archivo .cz.toml en la raíz de tu repositorio.

Y agrega esto dentro:

[tool.commitizen]
name = "cz_conventional_commits"
tag_format = "$major.$minor.$patch$prerelease"
version = "0.11.5"
version_files = [
    "package.json:version",
    ".cz.toml"
]

Establece la versión en este archivo como la misma que tienes en tu package.json archivo.

Solo es necesario la primera vez, luego las herramientas lo mantendrán actualizado.

Puedes ahora hacer el commit de estos dos archivos y ver tu primera etiqueta aparecer en GitHub!

GitHub acciones para la compilación

Crea un archivo en este camino: .github/workflows/build.yml

con este contenido:

name: Build source code and send to Capgo

on:
  push:
    tags:
      - '*'
      
jobs:
  deploy:
    runs-on: ubuntu-latest
    name: "Build code and release"
    steps:
      - name: Check out
        uses: actions/checkout@v6
      - name: Install dependencies
        id: install_code
        run: npm i
      - name: Build
        id: build_code
        run: npm run build
        env: # Remove both lines  if you don't need it
          FIREBASE_CONFIG: ${{ secrets.FIREBASE_CONFIG }} # Example of env var coming from a secret
      - name: Create Release
        id: create_release
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c production

Esto instalará y compilará tu dependencia antes de enviarla a Capgo.

Si tu comando para la compilación es diferente, puedes cambiarlo en el build_code paso.

Para que esto funcione, necesitas obtener tu API clave para Capgo, agregarla en la secreta de tu GitHub repositorio como CAPGO_TOKEN.

Ahora puedes agregar estos dos archivos y ver tu primera etiqueta aparecer en GitHub!

Agregar el commit generará una nueva compilación para el canal de producción.

Debes agregar tus pruebas en el paso de compilación para asegurarte de que code esté funcionando.

Ve a tu panel de control de Capgo y verifica tu compilación que acaba de aparecer, ahora tienes tu sistema CI/CD.

Si deseas que todos tus usuarios obtengan la actualización siempre que esté disponible, ve a tu canal y establece a public.

Sigue adelante desde Automatic build and release with Gitlab

Si estás utilizando Automatic build and release with Gitlab para planificar la automatización de CI/CD, conecta con Capgo CI/CD para el flujo de trabajo del producto en Capgo CI/CD, Capgo Native Builds para el flujo de trabajo del producto en Capgo Nativas Capgo Integraciones para el flujo de trabajo del producto en Capgo Integraciones Integración CI/CD para el detalle de implementación en Integración CI/CD, y GitHub Acciones de Integración para el detalle de implementación en GitHub Acciones de Integración.

Actualizaciones en vivo para aplicaciones Capacitor

Cuando un error de capa de web está vivo, envíe la corrección a través de Capgo en lugar de esperar días para la aprobación de la tienda de aplicaciones. Los usuarios obtienen la actualización en segundo plano mientras los cambios nativos siguen en el camino de revisión normal.

Apoyo humano de Martin

Inicie ahora

Últimas noticias de nuestro Blog

Capgo te brinda las mejores herramientas para crear una aplicación móvil profesional de verdad.