Usuario de Nexus de Gradle y Jenkins (Android)

Estoy empezando en Mejora Continua con Jenkins, SCM, Nexus y Android-Gradle. Tengo una tarea en Gradle para cargar un file AAR a mi repository de Nexus, y funciona si lo ejecuto desde mi computadora. La tarea es ' instalar ' y el código de gradle es el siguiente:

// upload to our nexus repository uploadArchives { repositories { // the maven plugin features this deployer mavenDeployer { // we deploy to the release repository in this case repository(url: "https://nexus1.xxxxx.com/nexus/content/repositories/releases") { authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) } // pom project information pom.project { version android.defaultConfig.versionName artifactId 't21-android-commons-utils' name 'T21 Android Commons Utils Lib' packaging 'aar' } } } } task install(dependsOn: uploadArchives) 

La function de authentication llama a getRepositoryUsername () y getRepositoryPassword () para leer las cnetworkingenciales de gradle.properties . Pero no quiero publicar este file en nuestro SCM, no debería ser seguro.

Cuando introduzco el código en nuestro SCM, Jenkins lo nota y ejecuta un trabajo para hacer una tarea de gradle, incluida la de " installation ". Funciona bien, pero ' install ' no puede autenticarse en el server Nexus porque gradle.properties no se encuentra (como se esperaba).

Entonces, me gustaría saber cómo debo hacer la authentication en ' install ' gradle-task de Jenkins.

Estoy pensando en crear un Jenkins-Usuario genérico con permissions en Nexus, pero no sé cómo puedo llamar a Gradle y Jenkins.

Espero explicar bien. Disculpa mi pobre ingles…

Me respondo a mí mismo.

Es posible pasar parameters a Gradle con -Pparameter = value y es útil para mí. Lo puse en la caja de interruptores en el trabajo de Jenkins.

Ahora, las cnetworkingenciales están en Jenkins Job pero no en SCM, por lo que el código fuente está limpio de cnetworkingenciales.