jenkins android-gradle echo android-keystore

Echo desactivado en Jenkins Console Output



android-gradle android-keystore (2)

De forma predeterminada, Jenkins ejecuta la secuencia de comandos Ejecutar Shell con set -x . Esto hace que todos los comandos sean repetidos

Puede escribir set +x antes de cualquier comando para anular temporalmente ese comportamiento. Por supuesto, necesitará set -x para comenzar a mostrarlos nuevamente.

Puede anular este comportamiento para todo el script colocando lo siguiente en la parte superior del paso de compilación:
#!/bin/bash +x

Estoy siguiendo la guideline cómo firmar Android apk con Jenkins. He parametrizado el trabajo de Jenkins con KSTOREPWD y KEYPWD. Una parte de la configuración del trabajo de Jenkins (Build-> Execute shell) es tomar esos parámetros y almacenarlos como variables de entorno:

export KSTOREPWD=${KSTOREPWD} export KEYPWD=${KEYPWD} ... ./gradlew assembleRelease

El problema es cuando la compilación termina. Cualquiera puede acceder a la compilación "Salida de consola" y ver qué contraseñas se ingresaron; parte de ese resultado:

08:06:57 + export KSTOREPWD=secretStorePwd 08:06:57 + KSTOREPWD=secretStorePwd 08:06:57 + export KEYPWD=secretPwd 08:06:57 + KEYPWD=secretPwd

Así que me gustaría suprimir el eco antes de la salida de export comandos de export y volver a habilitar export comandos echo after export .


En su situación específica (usando gradle y jenkins) también puede usar un parámetro de contraseña, usando el patrón de Gradle para variables de entorno ( ORG_GRADLE_PROJECT_prop) . Gradle establecerá una propiedad de prop en su proyecto.

En tu caso, esto se vería algo como esto

Y puedes usarlo en tu gradle.properties como este

signingConfigs { release { storeFile file(KEYSTORE) storePassword KSTOREPWD keyAlias ALIAS keyPassword KEYPWD } }

Por cierto, recomiendo usar el complemento de enlace de credenciales para KEYSTORE