article illustration Construcción y lanzamiento automático de la aplicación con GitHub Actions
CI/CD
Last update: June 29, 2023

Construcción y lanzamiento automático de la aplicación con GitHub Actions

Cree su propio pipeline de CI/CD con Github Actions de forma gratuita y despliegue su aplicación Ionic Capacitor JS cada vez que realice un push a main.

Este tutorial se centra en el alojamiento de GitHub, pero puedes adaptarlo con pequeños ajustes a cualquier otra plataforma de CI/CD

Prefacio

Asegúrate de haber agregado primero tu aplicación Capacitor a Capgo, este tutorial solo se enfoca en la fase de carga Si necesitas agregar tu aplicación a Capgo, puedes seguir este Tutorial

Convención de commits

Primero debes comenzar siguiendo la convención de commits conventional commits` esto ayudará a las herramientas a entender cómo actualizar el número de versión, se aprende en 5 minutos

Conventional commits

Acciones de GitHub para etiquetas

Luego tienes que crear tu primera acción de GitHub para construir y crear etiquetas automáticamente

Crea un archivo en esta ruta: github/workflows/bump_versionyml

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@v4
with:
fetch-depth: 0
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 lanzará una etiqueta para cada commit en tu rama principal y agregará una entrada de registro de cambios para cada commit en la rama principal en CHANGELOGmd

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

Para que esto funcione, crea un PERSONAL_ACCESS en tus secretos de GitHub como PERSONAL_ACCESS_TOKEN

Esto es necesario para permitir que el CI haga commit del registro de cambios

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

Por último, establece la versión en tu archivo packagejson, sincronízala con tu número de versión nativa, lo que facilitará el siguiente paso

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

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

Tanto la plataforma nativa como la web tendrán el número de versión actualizado después de cada commit

Acciones de GitHub para construcción

Crea un archivo en esta ruta: github/workflows/buildyml

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@v4
- 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 }} # Exemple 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 construirá tus dependencias antes de enviarlas a Capgo

Si tu comando para construir es diferente, puedes cambiarlo en el paso build_code

Para que esto funcione, necesitas obtener tu clave API para Capgo, agrégala en los secretos de tu repositorio de GitHub como CAPGO_TOKEN

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

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

Deberías agregar tus pruebas en el paso de construcción para asegurarte de que tu código funciona

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

Si quieres permitir que todos tus usuarios obtengan la actualización cuando esté disponible, ve a tu canal y configúralo como public

También puedes agregar la construcción nativa de tu aplicación JavaScript Ionic Capacitor siguiendo este tutorial 👇

Últimas noticias

Capgo te ofrece los mejores conocimientos que necesitas para crear una aplicación móvil verdaderamente profesional.