Este tutorial se centra en GitLab CI, pero puedes adaptarlo con unos pequeños ajustes a cualquier otra plataforma de CI/CD.
Prefacio
Asegúrate de haber añadido primero tu app a Capgo; este tutorial solo cubre la fase de upload
Convención de commits
Primero, debes empezar a seguir la convención de commits conventional commits` esto ayudará a las herramientas a saber cómo subir la versión; se aprende en 5 min.

GitLab CI para tags
Luego, crea tu primer GitLab para automatizar el build y la creación de tags.
Crea un archivo en esta ruta: .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 generará un tag por cada commit en tu rama main y añadirá una entrada al changelog por cada commit en la rama main en CHANGELOG.md.
No te preocupes si no tienes este archivo, se creará automáticamente.
Para que esto funcione, crea un TOKEN DE ACCESO PERSONAL y añádela a tus variables de GitLab CI/CD como PERSONAL_ACCESS_TOKEN.
Esto es necesario para que el CI pueda hacer commit del changelog.
Al crear el token, elige la expiración como never y el scope como repo.
Por último, para que la herramienta sepa dónde se guarda tu versión, debes crear el archivo .cz.toml en la raíz de tu repositorio.
Y añade 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"
]
Configura la versión en este archivo igual a la que tienes en tu package.json archivo.
Esto solo es necesario la primera vez; después, las herramientas lo mantendrán actualizado.
¡Ya puedes hacer commit de estos dos archivos y ver aparecer tu primer tag en GitHub!
GitHub acciones para el build
Crea un archivo en esta ruta: .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 hará el build de tu dependencia antes de enviarla a Capgo.
Si tu comando de build es distinto, puedes cambiarlo en el build_code paso.
Para que esto funcione, necesitas obtener tu clave de API para Capgo y añadirla en el secret de tu repositorio de GitHub como CAPGO_TOKEN.
¡Ya puedes hacer commit de estos dos archivos y ver aparecer tu primer tag en GitHub!
Al hacer el commit se generará un nuevo build para el canal de producción.
Deberías añadir tus tests en el paso de build para asegurar que tu code funciona.
Ve a tu dashboard de Capgo y revisa el build que acaba de aparecer; ya tienes tu sistema CI/CD.
Si quieres que todos tus usuarios reciban la actualización en cuanto esté disponible, ve a tu canal y configúralo en public.
Continuar desde build y release automáticos con GitLab
Si estás usando Build y release automáticos con GitLab para planificar la automatización de CI/CD, conéctalo con CI/CD de Capgo para el flujo de trabajo del producto en Capgo CI/CD, Native Builds de Capgo para el flujo de trabajo del producto en Capgo Native Builds, Integraciones de Capgo para el flujo de trabajo del producto en Capgo Integraciones, Integración CI/CD para los detalles de implementación de CI/CD Integration, y Integración con GitHub Actions para los detalles de implementación de GitHub Actions Integration.