
Fastlane es una herramienta de automatización de código abierto para desarrolladores de iOS y Android que gestiona la compilación, las pruebas, la firma de código y la publicación de Apps. El plugin de Applivery para Fastlane extiende Fastlane con una acción applivery que sube el binario compilado a Applivery, adjunta metadatos de CI (commit, rama, tag, URL del repositorio) y envía notificaciones opcionales, todo en un solo paso.
Requisitos previos
- Fastlane instalado en tu sistema o agente de CI.
- Un App API Token de Applivery. Encuéntralo en Ajustes de la App → Token API en el panel de Applivery, o consulta Apps API Token.
- Un
Fastfileen tu proyecto con al menos un lane definido.
En el directorio de tu proyecto, ejecuta:
fastlane add_plugin applivery
Esto añade el plugin a tu Pluginfile y lo instala. Haz commit del Pluginfile y el Gemfile.lock actualizados en tu repositorio para que el plugin esté disponible automáticamente en CI.
Añade una acción applivery a cualquier lane de tu Fastfile. El único parámetro obligatorio es app_token. El resto son opcionales.
Ejemplo iOS
platform :ios do
lane :deploy do
# Compilar la app
gym(
scheme: "MyApp",
export_method: "enterprise" # o "ad-hoc"
)
# Subir a Applivery
applivery(
app_token: ENV["APPLIVERY_TOKEN"],
name: "v#{get_version_number} (#{last_git_commit[:abbreviated_commit_hash]})",
changelog: last_git_commit[:message],
notify_collaborators: true,
notify_message: "Nueva Build lista para pruebas",
tags: "ios, staging"
)
puts "Build subida. ID: #{lane_context[SharedValues::APPLIVERY_BUILD_ID]}"
end
end
Ejemplo Android
platform :android do
lane :deploy do
# Compilar el APK
gradle(task: "assembleRelease")
# Subir a Applivery
applivery(
app_token: ENV["APPLIVERY_TOKEN"],
name: "v#{android_get_version_name}",
changelog: last_git_commit[:message],
notify_collaborators: true,
notify_message: "Nueva Build de Android disponible",
tags: "android, staging"
)
end
end
Ejecutar el lane
fastlane ios deploy
fastlane android deploy
Parámetros del plugin
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
app_token |
String | Sí | Tu App API Token de Applivery. Disponible en Ajustes de la App → Token API. |
name |
String | No | Nombre legible de la Build mostrado en el panel de Applivery. Por ejemplo: RC 1.0, v2.4.0-beta. |
changelog |
String | No | Notas de la versión o descripción de los cambios de esta Build. |
notify_collaborators |
Boolean | No | Envía una notificación por email a los Colaboradores de la App tras la subida. Por defecto: false. |
notify_employees |
Boolean | No | Envía una notificación por email a los empleados de la tienda tras la subida. Por defecto: false. |
notify_message |
String | No | Mensaje personalizado incluido en el email de notificación. |
tags |
String | No | Etiquetas separadas por comas para identificar la Build. Por ejemplo: "staging, sprint-42". |
filter |
String | No | Filtro de grupo para notificaciones. Separado por comas para AND, por barra vertical para OR. Por ejemplo: "group1,group2|group3" significa (group1 AND group2) OR (group3). |
build_path |
String | No | Ruta explícita al binario a subir. Por defecto usa la ruta generada por gym() (iOS) o gradle() (Android). |
Valores compartidos
Tras una subida exitosa, el plugin expone el ID de Build resultante como valor compartido de Fastlane. Puedes usarlo en pasos posteriores del lane, por ejemplo para desencadenar automatizaciones adicionales, actualizar una Publicación o registrar el resultado.
applivery(
app_token: ENV["APPLIVERY_TOKEN"]
)
build_id = lane_context[SharedValues::APPLIVERY_BUILD_ID]
puts "ID de Build subida: #{build_id}"
Guardar el token de forma segura
Nunca escribas tu App Token directamente en el Fastfile. Usa una de estas opciones según tu configuración:
Variable de entorno (recomendado para CI):
applivery(
app_token: ENV["APPLIVERY_TOKEN"]
)
Define APPLIVERY_TOKEN como variable de entorno secreta en tu plataforma de CI (Bitrise, Azure Pipelines, GitHub Actions, Jenkins, etc.).
Archivo .env de Fastlane (recomendado para desarrollo local):
Crea un archivo .env en tu directorio fastlane/ (añádelo a .gitignore):
APPLIVERY_TOKEN=tu_token_aquí
Fastlane carga los archivos .env automáticamente. Referencia la variable de la misma forma: ENV["APPLIVERY_TOKEN"].
Ejemplo completo de Fastfile
Un Fastfile real con lanes de despliegue separados para iOS y Android, usando metadatos de Git para el changelog y el nombre de la Build:
# fastlane/Fastfile
default_platform(:ios)
platform :ios do
desc "Compilar y desplegar en Applivery"
lane :deploy do
increment_build_number(build_number: number_of_commits)
gym(
scheme: "MyApp-Staging",
export_method: "enterprise",
output_directory: "./build",
output_name: "MyApp.ipa"
)
applivery(
app_token: ENV["APPLIVERY_TOKEN"],
name: "#{get_version_number} (#{last_git_commit[:abbreviated_commit_hash]})",
changelog: last_git_commit[:message],
notify_collaborators: true,
notify_message: "Nueva Build de iOS — #{git_branch}",
tags: "ios, #{git_branch}"
)
puts "✅ Subida a Applivery. ID de Build: #{lane_context[SharedValues::APPLIVERY_BUILD_ID]}"
end
end
platform :android do
desc "Compilar y desplegar en Applivery"
lane :deploy do
gradle(
task: "assemble",
build_type: "Release"
)
applivery(
app_token: ENV["APPLIVERY_TOKEN"],
name: "#{android_get_version_name} (#{last_git_commit[:abbreviated_commit_hash]})",
changelog: last_git_commit[:message],
notify_collaborators: true,
notify_message: "Nueva Build de Android — #{git_branch}",
tags: "android, #{git_branch}"
)
puts "✅ Subida a Applivery. ID de Build: #{lane_context[SharedValues::APPLIVERY_BUILD_ID]}"
end
end