Ir al contenido principal
CI/CD

Crear una aplicación de compilación y lanzamiento automática con acciones de Github

Crear su propia canalización CI/CD con acciones de Github gratuitas, y despliegue su aplicación Ionic Capacitor JS cada vez que pulse en main.

Martin Donadieu

Martin Donadieu

Contento Marketer

Crear una aplicación de compilación y lanzamiento automática con acciones de Github

Esta tutoría se centra en el GitHub de alojamiento, pero puede adaptarlo con pequeñas modificaciones a cualquier otra plataforma de CI/CD.

Introducción

Asegúrese de haber agregado su aplicación Capacitor primero a Capgo, esta tutoría solo se centra en la fase de carga. Si necesita agregar su aplicación a Capgo, puede seguir esta Tutoría

Convención de commit

Primero debes empezar a seguir la convención de commit Comités convencionales` esto ayudará a las herramientas a entender cómo actualizar el número de versión, es de 5 minutos para aprenderlo.

Comités convencionales

GitHub acciones para etiqueta

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

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 cambio para cada commit en la rama principal en CHANGELOG.md.

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

Hacer que esto funcione, crea un TOKEN DE ACCESO PERSONAL y agregarla a tus GitHub secretos como PERSONAL_ACCESS_TOKEN.

Esto es necesario para permitir que el CI cometa el changelog.

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

Finalmente, establece la versión en tu package.json archivo, sincrónizalo con tu número de versión nativa que facilitará, luego el siguiente paso.

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

Puedes ahora comprometer ambos archivos y ver tu primera etiqueta aparecer en GitHub!

Both native and web platform will have the version number bump after each commit.

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 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á su dependencia antes de enviarla a Capgo.

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

Para que esto funcione, necesita obtener su API clave para Capgo, agregarla en el segredo de su GitHub repositorio como CAPGO_TOKEN.

Ahora puede hacer el commit de estos archivos y ver su primer etiqueta aparecer en GitHub!

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

Deberías agregar tu prueba en el paso de compilación para asegurarte de que tu code está funcionando.

Dirígete 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.

Puedes agregar también la compilación nativa de tu aplicación de Ionic Capacitor JavaScript siguiendo este tutorial 👇

Sigue adelante desde la aplicación de compilación y lanzamiento automático con Github acciones

Si estás utilizando Compilación y lanzamiento automático con Github acciones 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 Compilaciones Nativas para el flujo de trabajo del producto en Capgo Compilaciones 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 Integración de Acciones para el detalle de implementación en GitHub Integración de Acciones.

Actualizaciones en vivo para Capacitor aplicaciones

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Cuando un bug de capa de web está vivo, envíe la corrección a través de __CAPGO_KEEP_0__ 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.

Contexto: Página/área: Sitio web de marketing de Capgo. Rol: Oración de copia de sitio web o descripción meta. Visto en: componente GetStarted.astro. Preservar términos de producto/marca y términos de desarrollador exactamente. Clave de mensaje `instant_updates_for_capacitor_apps_description` (Descripción de Actualizaciones Instantáneas Para Aplicaciones de Capacitor).

Apoyo humano de Martin

Capgo gives you the best insights you need to create a truly professional mobile app.