Saltar al contenido principal
CI/CD

Administra la construcción de desarrollo y producción con acciones GitHub

Utiliza Capgo para publicar tu devbuild en un canal específico, y permite a tu equipo probar tu Capacitor app de Ionic, sin tener que esperar la revisión de Apple y Google

Martin Donadieu

Martin Donadieu

Gerente de Contenido

Administra la construcción de desarrollo y producción con acciones GitHub

Este tutorial se centra en la GitHub de alojamiento, pero puedes adaptarlo con un pequeño ajuste a cualquier otra plataforma CI/CD

Introducción

Asegúrate de haber agregado tu Capacitor app primero a Capgo, este tutorial solo se centra en la fase de carga

Convenio de commit

Primero debes empezar a seguir el convenio de commit comunicados convencionales ` esto ayudará a la herramienta a entender cómo actualizar el número de versión, solo lleva 5 minutos aprenderlo.

Comunicados convencionales

GitHub acciones para etiqueta

Luego debes crear tu primera acción GitHub para crear automáticamente y crear etiquetas.

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

con este contenido:

name: Bump version

on:
  push:
    branches:
      - main
      - development

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
        if: github.ref == 'refs/heads/main'
        run: npx capacitor-standard-version
      - name: Create bump and changelog
        if: github.ref != 'refs/heads/main'
        run: npx capacitor-standard-version --prerelease alpha
      - 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 lanzará una etiqueta para cada commit en tu rama principal. Y un alpha lanzamiento para development, y finalmente una entrada de cambios para cada commit en CHANGELOG.md.

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

Para que esto funcione, debes crear un TOKEN DE ACCESO PERSONAL y agregarla a tus GitHub secreto como PERSONAL_ACCESS_TOKEN.

Esto es necesario para que el CI pueda realizar el commit del changelog y el aumento de versión.

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

Establece el version clave en tu package.json archivo. Utiliza para eso la última versión lanzada en la Tienda.

Esto solo es necesario la primera vez, luego las herramientas se encargarán de mantenerlo actualizado.

Ahora puedes hacer commit de ambos archivos y ver tu primera etiqueta aparecer en GitHub!

capacitor-standard-version es el paquete que hace la magia, por defecto, también actualiza tu número de versión en Android e IOS

GitHub acciones para la compilación

Crear 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 build
        env:
          MY_ENV_VAR: ${{ secrets.MY_ENV_VAR }}
      - name: Create Release Alpha
        if: "contains(github.ref, '-alpha.')"
        id: create_release_prepro
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c development
      - name: Create Release Production
        if: "!contains(github.ref, '-alpha.')"
        id: create_release_prod
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c production

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

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

Si necesitas una variable de entorno, utiliza el MY_ENV_VAR y establece el secret en la configuración de proyecto de GitHub, luego secreto y GitHub Action.

Para que Capgo suba archivos, necesitas obtener tu API clave para Capgo, agregarla en segredo de tu repositorio GitHub como CAPGO_TOKEN.

Ahora puedes agregar estos dos archivos y ver tu primera versión aparecer en Capgo!

Al agregar el commit se generará una nueva compilación de Capacitor para el canal de producción y desarrollo.

Debes agregar tus pruebas en el paso de compilación de Ionic para asegurarte de que code funciona correctamente.

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

Actualizaciones en vivo para aplicaciones Capacitor

Cuando un error en la capa web está en 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.

Comience ahora

Últimas noticias de nuestro Blog

Capgo le da las mejores pistas que necesita para crear una aplicación móvil verdaderamente profesional.