Capacitor CLI le permite personalizar el proceso de compilación de su aplicación para las plataformas iOS, Android y web. Al ajustar los scripts de compilación, puede:
- Acelerar las actualizaciones: Puede enviar cambios de manera instantánea sin demoras de tiendas de aplicaciones.
- Control de despliegues: Revertir actualizaciones o dirigir a grupos de usuarios específicos.
- Seguridad de la aplicación: Utilice la cifrado para proteger actualizaciones.
- Optimización de compilaciones: Ajustar configuraciones para necesidades específicas de plataforma.
Resumen rápido de características clave:
- Archivos de configuración: Utilice
capacitor.config.jsonypackage.jsonpara gestionar la configuración de compilación. - Scripts personalizados: Agregar tareas de precompilación y postcompilación para automatización.
- hooks de construcción: Ejecutar code durante etapas específicas del proceso de compilación.
- variables de entorno: Simplificar compilaciones específicas del entorno con
.envarchivos.
Capgo, una herramienta de despliegue, mejora este proceso con actualizaciones automatizadas, seguimiento de versiones, y optimización de rendimiento global. Siga leyendo para aprender a configurar y personalizar tus scripts de compilación para la máxima eficiencia.
Introduciendo Capacitor Configuración

Proceso de compilación predeterminado en Capacitor
Entender cómo Capacitor maneja su proceso de compilación predeterminado es crucial si deseas personalizarlo de manera efectiva. A continuación, se desglosará el proceso de compilación y los archivos de configuración clave del Capacitor CLI.
Pasos de compilación estándar
Capacitor utiliza un proceso paso a paso para transformar tu aplicación web en compilaciones específicas de plataforma. A continuación, se muestra qué sucede durante el proceso de compilación predeterminado:
| Fase | Descripción | Salida |
|---|---|---|
| Compilación web | Compila activos web utilizando herramientas de tu marco de trabajo | Paquete web optimizado |
| Copiar Activos | Mueve activos web a carpetas de plataforma nativa | Directorios de activos específicos de plataforma |
| Compilación nativa | Ejecuta comandos de compilación específicos de plataforma | Binarios listos para desplegar |
| Verificación | Verifica la integridad y dependencias de la compilación | Estado de la compilación y advertencias |
Archivos de configuración principales
Los dos archivos de configuración clave determinan cómo Capacitor maneja tus compilaciones:
capacitor.config.json
Este es el archivo de configuración principal para tu proyecto Capacitor. Establece parámetros importantes para tus compilaciones:
{
"appId": "com.example.app",
"appName": "MyApp",
"webDir": "dist",
"bundledWebRuntime": false,
"plugins": {
"SplashScreen": {
"launchShowDuration": 3000
}
}
}
appId: Un identificador único para tu aplicación.appName: El nombre de tu aplicación.webDir: Especifica dónde Capacitor debe buscar los activos web (por ejemplo,dist).plugins: Te permite configurar ajustes específicos de plugins, como opciones de SplashScreen.
package.json
Este archivo incluye scripts de compilación y dependencias que influyen en el proceso de compilación:
{
"scripts": {
"build": "npm run build:web && cap sync",
"build:web": "vite build",
"cap:build": "cap build"
}
}
- El
webDirconfiguración encapacitor.config.jsonindica a Capacitor dónde localizar tus activos web compilados para su inclusión en las compilaciones nativas. - Después de hacer cambios en
capacitor.config.jsonnecesitas ejecutarcap syncpara asegurarte de que tus proyectos nativos estén actualizados.
Exploraremos a continuación cómo puedes modificar estos ajustes para personalizar aún más tus compilaciones.
Modificar Scripts de Compilación
Puedes ajustar el proceso de compilación predeterminado de Capacitor para que se adapte mejor a las necesidades de tu proyecto. Aquí te explico cómo hacerlo:
Ajustes del Archivo de Configuración
Puedes ajustar el proceso de compilación editando el capacitor.config.json archivo. A continuación, se muestra un ejemplo de configuración:
{
"appId": "com.example.app",
"webDir": "www",
"server": {
"hostname": "localhost",
"androidScheme": "https",
"iosScheme": "https",
"allowNavigation": ["*.example.com"]
},
"android": {
"buildOptions": {
"keystorePath": "release.keystore",
"keystorePassword": "mypassword",
"keystoreAlias": "release",
"keystoreAliasPassword": "mypassword"
}
},
"ios": {
"scheme": "App",
"automaticProvisioning": true
}
}
A continuación, te presentamos algunos ajustes clave que puedes modificar:
webDir: Especifica la ubicación de los activos web compilados.server: Configura el servidor de desarrollo, incluyendo el nombre de host y los permisos de navegación.android/ios: Permite ajustes de compilación específicos de plataforma, como detalles de keystore para Android o opciones de provisión para iOS.
Creando NPM Scripts
Para simplificar tu flujo de trabajo, agrega scripts de NPM personalizados a tu package.json archivo. Aquí tienes un ejemplo:
{
"scripts": {
"prebuild": "node ./scripts/prepare-env.js",
"build": "npm run build:web && cap sync",
"build:web": "vite build",
"build:ios": "cap build ios --release",
"build:android": "cap build android --release",
"postbuild": "node ./scripts/notify-completion.js"
}
}
prebuildypostbuild: Utiliza estos para tareas como configurar el entorno o enviar notificaciones cuando se complete la compilación.build:platform: Comandos específicos de plataforma para compilar aplicaciones de Android o iOS.
Puedes llevar la automatización aún más lejos agregando hooks de compilación.
Configuración de Hooks de Compilación
Para un control más avanzado, utiliza hooks de compilación para ejecutar code personalizados en puntos específicos del proceso de compilación. Aquí tienes un ejemplo de configuración en capacitor.config.ts:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.example.app',
plugins: {
CapacitorHooks: {
beforeBuild: async () => {
console.log('Running pre-build tasks...');
// Add your pre-build tasks here
},
afterBuild: async () => {
console.log('Running post-build tasks...');
// Add your post-build tasks here
}
}
}
};
export default config;
Con los hooks de compilación, puedes:
- Validar requisitos antes de que comience la compilación
- Transformar activos durante el proceso
- Activar notificaciones en puntos clave
- Actualizar números de versión automáticamente
- Ejecutar pruebas automatizadas sin problemas
Esta aproximación te da mayor flexibilidad y control sobre todo el ciclo de construcción.
Personalización de Construcción Avanzada
Al trabajar en proyectos más grandes, afinar tu proceso de construcción puede hacer una gran diferencia. Aquí's cómo manejar construcciones específicas de entorno y personalizaciones de plataforma de manera efectiva.
Variables de Entorno
Configura variables de entorno creando archivos separados para cada entorno: .env Luego, configura tu script de construcción para cargar el archivo apropiado según el entorno:
.env.development.env.staging.env.production
Puedes afinar aún más estos ajustes para que se adapten a los requisitos específicos de plataforma.
import { defineConfig } from '@capacitor/cli';
export default defineConfig({
ios: {
buildConfig: {
environment: process.env.BUILD_ENV || 'development',
configurations: {
development: {
signing: {
debug: true,
automaticProvisioning: true
}
},
production: {
signing: {
release: true,
provisioningProfile: 'dist/profile.mobileprovision'
}
}
}
}
}
});
Construcciones específicas de plataforma
Entonces, configura tu script de construcción para cargar el archivo apropiado según el entorno: __CAPGO_KEEP_0__
To personalizar las compilaciones para Android e iOS, utilice la siguiente estructura:
const platformConfig = {
android: {
buildType: process.env.BUILD_TYPE || 'debug',
keystoreConfig: {
path: process.env.KEYSTORE_PATH,
password: process.env.KEYSTORE_PASSWORD,
alias: process.env.KEYSTORE_ALIAS
}
},
ios: {
scheme: process.env.APP_SCHEME || 'App',
xcodePreferences: {
automaticSigning: false,
developmentTeam: process.env.DEVELOPMENT_TEAM
}
}
};
Estas configuraciones le permiten personalizar las compilaciones para cada plataforma, asegurando despliegues más suaves.
| Característica | Android | iOS |
|---|---|---|
| Simbolos de depuración | ProGuard archivos de mapa | archivos dSYM |
| Variantes de compilación | depuración, liberación, etapa de pruebas | depuración, liberación |
| Code Firma | Gestión de keystore | Perfiles de configuración |
| Gestión de activos | optimización de res/drawable | Catálogos de activos |
Consejos adicionales para optimizar tus compilaciones incluyen:
- Usando actualizaciones parciales para ahorrar tiempo durante las implementaciones
- Configurando el seguimiento de errores para identificar rápidamente problemas
- Creando sistemas de canales para pruebas de versiones beta
- Habilitando la cifrado de extremo a extremo para una distribución segura
Cuando se combina con herramientas como Capgo para análisis y actualizaciones seguras, estas técnicas te dan más control sobre tu proceso de implementación [1].
Problemas de Script de Construcción & Soluciones
Al trabajar con configuraciones de construcción personalizadas, es crucial resolver errores rápidamente para mantener el proceso de construcción en funcionamiento de manera fluida.
Solución de Errores Comunes
Muchos problemas de script de construcción surgen de la configuración del entorno o problemas de dependencias. Aquí’s cómo abordar algunos de los más comunes:
Variables de Entorno Faltantes
Si se encuentra con un error como este:
error: Cannot find environment configuration for BUILD_ENV
Puede solucionarlo creando un archivo .env.local en el directorio raíz de su proyecto. Aquí’s un ejemplo:
BUILD_ENV=development
CAPACITOR_PLATFORM=ios
BUILD_TYPE=debug
Fallas de Construcción Específicas de Plataforma
Para errores de firma de Android, utilice este comando:
npx cap build android --keystorePassword=$KEYSTORE_PASSWORD --keystoreAlias=$KEYSTORE_ALIAS
Para problemas de perfil de provisión de iOS, intente esto:
npx cap build ios --configuration=release --type=development
| Tipo de Error | Motivo Común | Solución |
|---|---|---|
| Configuración de Firma | Detalles del keystore faltantes | Establecer KEYSTORE_PATH y credenciales |
| Entorno de compilación | Variables no definidas | Crear archivos específicos de plataforma .env Dependencias |
| Compatibilidades de versión | __CAPGO_KEEP_0__ | Actualización package.json y sincronización |
Después de aplicar correcciones, asegúrese de que sus cambios sean sólidos ejecutando pruebas de compilación exhaustivas.
Pruebas de scripts de compilación
Una vez resueltos los errores, valide sus scripts de compilación con los siguientes pasos:
- Verificación automática: Ejecute comandos clave para confirmar que el proceso de compilación funciona como se espera.
npm run build
npx cap sync
npx cap copy
- Validación del entorno: Verifique variables de entorno faltantes antes de iniciar la compilación.
const requiredVars = ['BUILD_ENV', 'KEYSTORE_PATH'];
requiredVars.forEach(varName => {
if (!process.env[varName]) {
throw new Error(`Missing required env var: ${varName}`);
}
});
- Depuración de scripts de compilación: Agregue scripts detallados para atrapar posibles problemas durante la compilación.
{
"scripts": {
"build:debug": "NODE_ENV=development npx cap build --verbose",
"build:release": "NODE_ENV=production npx cap build --verbose"
}
}
Consejos adicionales para la prueba:
- Utilice contenedores de Docker para aislar las compilaciones. Validar archivos de configuración antes de iniciar el proceso.
- Pruebe con varias versiones de Node.js.
- Confirme que se cumplen los requisitos específicos de la plataforma. Monitoree el rendimiento de la compilación para posibles mejoras. __CAPGO_KEEP_0__
- Características de compilación
- __CAPGO_KEEP_0__ Panel de control de actualizaciones en vivo
Capgo Dashboard

Capgo lleva los scripts de construcción a un nuevo nivel con la implementación automática, mejorando la eficiencia y simplificando el proceso.
Actualizaciones de Aplicaciones Rápidas
Capgo’s rendimiento de actualización es impresionante:
- 95% de los usuarios activos reciben actualizaciones dentro de 24 horas.
- 82% de éxito para la entrega de actualizaciones a nivel mundial.
- Un tiempo de respuesta promedio de API de 434ms a nivel global.
La plataforma utiliza actualizaciones parciales, lo que significa que solo se descargan los cambios. Esta aproximación reduce el uso de ancho de banda y acelera el proceso de actualización. Además, todo el proceso de construcción está completamente automatizado, lo que ahorra tiempo y esfuerzo.
Automatización de Construcción
Capgo funciona de manera fluida con las principales plataformas CI/CD, ofreciendo una variedad de integraciones:
| Plataforma de CI/CD | Características de integración | Ventajas |
|---|---|---|
| GitHub Acciones | Compilaciones automatizadas, Desencadenantes de despliegue | Despliegue continuo |
| GitLab CI | Automatización de pipeline, Control de versiones | Flujo de trabajo simplificado |
| Jenkins | Flujos de trabajo personalizados, Ganchos de compilación | Escalable para empresas |
Configurando una compilación automática suele costar alrededor de $300 por mes, lo cual es mucho más asequible en comparación con soluciones tradicionales que pueden llegar a $6,000 anualmente.
Normas de Seguridad
Capgo prioriza la seguridad con un marco robusto que incluye:
- Encriptación de extremo a extremo para paquetes de actualización.
- Gestión de claves seguras.
- Cumplimiento con las directrices de Apple y Google.
Características de Control de Versión
- Opciones de rollback instantáneas.
- Seguimiento de versiones de despliegue.
- Gestión de canales de actualización para lanzamientos en etapa.
Este marco de seguridad ha sido sometido a pruebas rigurosas en cientos de aplicaciones de empresas. Para los equipos que necesitan seguridad adicional, Capgo también ofrece soluciones autoadministradas con configuraciones personalizables.
El sistema de canales de Capgo permite una distribución flexible de actualizaciones. Los desarrolladores pueden dirigirse a grupos de usuarios específicos con diferentes versiones, perfecto para pruebas de beta o lanzamientos graduales.
Resumen
Visión general de los pasos de construcción
Los scripts de construcción personalizados permiten despliegues automatizados y consistentes aprovechando las llamadas a hooks de construcción, variables de entorno y comandos específicos de plataforma. Estos procesos crean una base sólida para mejoras de despliegue posibles con Capgo.
Ventajas de Capgo
Capgo simplifica el despliegue, habiendo entregado con éxito más de 23,5 millones de actualizaciones en 750 aplicaciones de producción [1]. Su sistema de actualizaciones parciales reduce tanto el uso de banda como el tiempo de despliegue.
La plataforma proporciona actualizaciones rápidas, optimización de rendimiento global, cifrado de extremo a extremo para la seguridad y un sistema de distribución flexible basado en canales. Este conjunto de configuración admite actualizaciones dirigidas, pruebas de beta y cumplimiento con las directrices de las tiendas de aplicaciones mientras mantiene un marco de seguridad sólido.
Sigue adelante desde Cómo personalizar los scripts de construcción con Capacitor CLI
Si estás utilizando Cómo personalizar los scripts de compilación con Capacitor CLI para planificar la automatización de CI/CD, conectarlo con Capgo automatización de CI/CD para el flujo de trabajo del producto en Capgo automatización de 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 de CI/CD para el detalle de implementación en Integración de CI/CD, y GitHub Integración de acciones para el detalle de implementación en GitHub Integración de acciones.