Instalación de Jenkins
Dirección de descarga: https://jenkins.io/zh/
Documento de instalación: https://jenkins.io/zh/doc/pipeline/tour/getting-started/
Siga la recomendación predeterminada para completar la instalación.
Complementos y configuración global
configuración jdk configuración
android sdk configuración
android ndk configuración
gradle configuración
git
No diré más sobre estos, debería estar disponible localmente y debe instalarlo si lo implementa en un servidor remoto.
Instalar el complemento de Jenkins
Administrar Jenkins >> Administrar complementos
Busque e instale el complemento de Git (almacén remoto)
busque e instale el complemento de Git Parameter (configuración seleccione la rama de compilación)
busque e instale el complemento de Gradle (herramienta de compilación de Android)
busque e instale el complemento del complemento de establecimiento de descripción (agregue la descripción después de la compilación)
descargue e instale el complemento fir (cargue automáticamente el apk a fir plataforma)
También puede buscar y descargar el complemento directamente en https://plugins.jenkins.io/, y luego cargar el archivo hpi en la administración de complementos de Jenkins.
Jenkins-Manage Jenkins-Confogure System-Find global properties
Configure su propio entorno Gradle No lo configuré, pero marque Forzar GRADLE_USER_HOME para usar el espacio de trabajo en la configuración específica del proyecto
Crear tarea de Jenkins
Crear tarea
Haga clic en "Nuevo elemento", e ingrese el nombre de la tarea (ejemplo: autoapk) para crear un nuevo proyecto de estilo libre (proyecto estilo libre)
seguido de la descripción de la tarea, seleccione la cuarta casilla de verificación este proyecto está parametrizado Haga clic en "Agregar parámetro", puede ver muchos La mayoría de las opciones que usamos son el parámetro de elección (parámetro opcional), el parámetro git (esta opción necesita instalar el complemento Git Parameter Plug-In), el primer parámetro opcional que completamos en el entorno empaquetado BUILD_TYPE, la opción la proporcionamos nosotros La descripción de la opción ya es muy clara.
Para el segundo parámetro opcional elegimos la plataforma de empaquetado (estamos empaquetando paquetes con diferentes firmas para tabletas de diferentes fabricantes), en cuanto a cómo obtener este valor en nuestro proyecto, necesitamos configurar una PLATAFORMA con el mismo nombre en gradle.properties
Usar en build.gradle en el directorio raíz
apply plugin: 'com.android.application'
//xxx1 1 xxx2 2
def platFormType = PLATFORM ? Integer.valueOf(PLATFORM) : 1
android {
signingConfigs {
debug {
if (platFormType == 1) {
storeFile file("../xxx1_platform.jks")
storePassword 'xxxxxx'
keyAlias 'xxxx1'
keyPassword 'xxxxxx'
} else if (platFormType == 2) {
storeFile file("../xxx2_platform.jks")
storePassword 'xxxxxx'
keyAlias 'xxxx2'
keyPassword 'xxxxxx'
}
}
release {
//与debug配置相同
}
}
}
La tercera rama de configuración de parámetros opcional BRANCH Este lugar puede usar Git Parameter para seleccionar más fácilmente cada rama, también podemos usar String Parameter para ingresar manualmente el nombre de la rama.
Gestión de código fuente
Ingrese la dirección SSH del proyecto,
seleccione agregar credenciales, clave secreta SSH,
use $ BRANCH para consultar los parámetros opcionales que completamos anteriormente
. Agregue credenciales globales. Busque las credenciales en la página de inicio de Jenkins-Sistema-Credenciales globales-Seleccione Agregar credenciales a la izquierda
. Después de agregarlas, puede administrar git en el código fuente Agregar a la derecha de Credenciales en
Construir disparador
No configurado, puede consultar la configuración de otras personas Jenkins.
Entorno de construcción
No configurado, puede consultar la configuración de otras personas Jenkins.
Construir
Aquí debe configurar Gradle, agregamos un paso de compilación: Invocar script de Gradle y luego configurarlo como se indicó anteriormente, también puede elegir Usar Gradle Wrapper, en la operación real, seleccione Invoke Gradle script y luego se ejecutará la tarea.
Ingrese la tarea que queremos ejecutar en Tareas, generalmente ensamblar limpio $ BUILD_TYPE, que en realidad es el comando de compilación del paquete gradle, solo ingréselo aquí.
Haga clic en Avanzado: pase todos los parámetros del trabajo como propiedades del proyecto, asegúrese de marcar esta opción, lo que significa que usa los parámetros anteriores como parámetros de compilación de Gradle; de lo contrario, no funcionará.
Forzar a GRADLE_USER_HOME a usar el espacio de trabajo significa descargar y usar automáticamente Gradle del que depende el proyecto. No hay problema si lo marca o no.
Ejecutar shell después de que se complete la compilación
#!/bin/bash
echo ">>> 开始上传到蒲公英"
dir="/Users/Shared/Jenkins/Home/workspace/AutoMakeApk/taxi/build/outputs/apk/${BUILD_TYPE}/"
fileName=""
cd $dir
for i in $(ls)
do
echo $i
temp=$i
if [ "${temp##*.}"x = "apk"x ]
then
fileName=$i
fi
done
fullPath=$dir$fileName
echo 文件全路径:$fullPath
RESULT=$(curl -F "file=@${fullPath}" -F "uKey=替换为自己的uKey" -F "_api_key=替换为自己的api_key" https://qiniu-storage.pgyer.com/apiv1/app/upload)
echo $RESULT
sub_json=${RESULT##*appKey\":\"}
appkey=${sub_json%\",\"userKey*}
export DOWNLOAD_URL=https://www.pgyer.com/$appkey #设置全局变量,为了发邮件拼接完整路径
echo "#######################################################################################"
echo "##"
echo "下载地址:<<< ${DOWNLOAD_URL} >>>"
echo "##"
echo "#######################################################################################"
Finalmente guarde y complete el contenido y salga.
Empiece a construir el proyecto
Generación de código QR local de Jenkins artículo avanzado
Android usa la integración continua de
Jenkins Empaquetado automático de Jenkins + Android continuación 4: carga automáticamente al servidor de archivos después del empaquetado,
usa Docker para construir Jenkins para la integración continua implementación continua
Jenkins implementa el proyecto de Android y carga la plataforma fir y muestra el código QR descargar