Saltar al contenido principal
CI/CD

Gestionar la compilación de desarrollo y producción con GitHub acciones

Utilice Capgo para publicar su devbuild en un canal específico, y permita a su equipo probar su Capacitor aplicación de Ionic sin esperar la revisión de Apple y Google

Créditos del artículo

Martin Donadieu

Escritor

Valeria

Revisor

Jordan

Editor

Gestionar la compilación de desarrollo y producción con acciones de 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 de aplicación primero a Capgo, este tutorial solo se centra en la fase de carga

Convención de commit

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

Comunicados convencionales

GitHub acciones para etiqueta

Entonces, necesitas crear tu primera GitHub acción para automatizar la creación de etiquetas y builds.

Crear un archivo en este path: .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 liberará una etiqueta para cada commit en tu branch principal. Y un alpha lanzamiento para development, y por último una entrada de changelog para cada commit en CHANGELOG.md.

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

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

Es necesario permitir que el CI realice 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 la 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 un 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

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 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 compilará tus dependencias antes de enviarlas a Capgo.

Si tu comando de compilación es diferente, puedes cambiarlo en el build_code step.

Si necesita una variable de entorno, utilice el MY_ENV_VAR y establecer secret en su proyecto GitHub configuración, luego secreto luego GitHub Acción.

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

Puedes ahora cometer ambos archivos y ver tu primera versión aparecer en Capgo!

La adición generará un nuevo Capacitor de construcción para el canal de producción y desarrollo.

Deberías agregar tus pruebas en el paso de construcción de Ionic para asegurarte de que code funciona correctamente.

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

Sigue adelante desde la gestión de construcción de desarrollo y producción con GitHub acciones

Si estás utilizando Gestión de construcción de desarrollo y producción con GitHub acciones para planificar la ruta de canales y el despliegue en etapas, conecta con Canal para los detalles de implementación en los canales, Canales para los detalles de implementación en Canales, Canales para los detalles de implementación en Canales, Solución de Pruebas Beta para el flujo de trabajo del producto en Solución de Pruebas Beta, y Solución de Alcance de Versión para el flujo de trabajo del producto en Solución de Alcance de Versión.

Actualizaciones en vivo para Capacitor aplicaciones

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

Últimas noticias de nuestro Blog

Capgo te da las mejores perspectivas que necesitas para crear una aplicación móvil verdaderamente profesional.