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