Jenkins Git Publisher: ¿Cómo volver a asignar el código al máster después de la compilation?

Tengo algunas dificultades con Jenkins Git Publisher para confirmar y enviar el código al máster después de mi compilation. Mi process de compilation aumenta un número de versión en uno de mis files y luego deseo volver a enviar este file al repository, pero parece que no puedo hacerlo funcionar.

En Source Code Management-> Git, estas son mis configuraciones:

  • Nombre del repository: Android
  • Especificador de sucursal: maestro
  • Checkout / fusionar a la sucursal local: master

Luego, en Git Publisher, estas son mis configuraciones:

  • Empujar solo si la construcción tiene éxito: marcado
  • Fusionar resultados: verificado
  • Sucursal para empujar: maestro
  • Nombre remoto de destino: Android
  • Notas: Nota para presionar: Actualización de la versión
  • Notas: Nombre remoto de destino: Android
  • Notas: Espacio de nombres de la nota: maestro

Esta es la salida de Jenkins:

Pushing HEAD to branch master at repo Android Adding note to namespace "master": Updating version 

¡Por favor ayuda!

Creo que el plugin jenkins git publisher no hace nada como

 git add . git commit -m 'xxx' 

El complemento solo realiza push y opcionalmente agrega nota usando git-notes .

Ver notas aquí:

https://github.com/hamsterready/jenkins-git-publisher-test/tree/refs/notes/master

Para lograr algo como esto: https://github.com/hamsterready/jenkins-git-publisher-test/commit/d80a1eef2133bee6d7a57b1b229ccd5990d2d606

He agregado un paso posterior a la compilation (ejecutar el script de shell) con:

 git add . git commit -m 'Updating git.properties' 

Y luego activó la acción posterior a la compilation de git publisher, que impulsó el compromiso local al origen.

Si está utilizando también Gradle para sus comstackciones, hay un complemento de Git para ello.

Aquí está el build.gradle completo:

 buildscript { repositories { mavenCentral() } dependencies { classpath "org.ajoberstar:gradle-git:0.6.3" } } import org.ajoberstar.gradle.git.tasks.* task tag(type: GitTag) { tagName = version message = "Release of $version" } task pushWithTags(type: GitPush){ cnetworkingentials{ username = "karim" password = gitPassword } setPushTags(true) } task add(type: GitAdd){ include("yourVersionFile.txt") // or add everything with include("*") } task commit(type: GitCommit){ setMessage(commitMsg) } task pushNewVersion(){ tasks.add.execute() tasks.commit.execute() tasks.tag.execute() tasks.pushWithTags.execute() } 

Así es como se agregan, labeln, comprometen y empujan usando el script (hay un complemento para hacerlo desde dentro de Jenkins):

 gradle pushNewVersion "-PcommitMsg=hi" "-Pversion=0.1.1" "-PgitPassword=secret" 

Experimenté el mismo problema para hacer retroceder los cambios de origen usando el plugin de Git en Jenkins. ¿Cuál es la versión del complemento de cliente Git que está utilizando? Debe haber un error en el complemento de cliente de git y, por lo tanto, el comportamiento.

Solucionaron el problema relacionado con el impulso en algún momento. Ref: https://issues.jenkins-ci.org/browse/JENKINS-17242 . Y parece que está roto, ya que hay otro error presentado nuevamente por el mismo recientemente: https://issues.jenkins-ci.org/browse/JENKINS-19442

Si lee la discusión en las direcciones URL, la solución rápida sugerida es rebajar el complemento de cliente de Git a 1.0.5 y el complemento de git a 1.3.0. Espero que esto funcione para usted.