2011-06-27 11 views
10

Al compilar desde git en master jenkins recupera y usa origen/master. Al construir desde git en una rama jenkins busca y los usuarios no incluyen mybranch origin/mybranch y no está recogiendo cambios.Cómo usar el plugin de jenkins git para compilar desde una rama incluir origen o no

Cambié el especificador de rama para usar origen/mybranch y parece que funciona. ¿Es la forma estándar de manejar las cosas o me falta una forma más obvia de hacerlo? No quiero agregar complejidad innecesaria.

Por favor, hágamelo saber si jenkins debe usar origen/branchname en lugar de branchname para su campo de Branches-To-Build.

Gracias

Peter

Respuesta

2

Compruebe su .git corriente/config, y verá que ya se especifica el "origen" y cómo se relaciona con el origen principal. No se especificarán otras ramas, por lo que el complemento no puede construir una url. Para agregar más ramas ...

[remote "origin"] 
     url = ssh://myserv/srv/git/proj.git 
     fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
     remote = origin 
     merge = refs/heads/master 
[branch "im_a_branch"] 
     remote = origin 
     merge = refs/heads/im_a_branch_remote_branch_name 

Esto le permitiría simplemente poner el nombre de la rama en las ramas para construir el campo en Jenkins. Eso es probablemente excesivo, y mantenimiento adicional. Solo ingrese el origen/nombre de rama.

+3

Jenkins crea el clon inicial del repositorio. Esto no resuelve el problema. – djs

+0

Derecha. No es terriblemente útil para Jenkins, pero es bueno saberlo en general. Podría modificar el repositorio principal y quizás mis usuarios también sean más felices. –

3

Si solo tiene un repositorio remoto (llamado origin), también debe ingresar branchname ingresando origin/branchname. Si tiene varios repositorios y solo ingresa branchname, entonces debería verificar todos los repositorios remotos para esa rama.

Tenga en cuenta que si creó manualmente una rama denominada branchname en el repositorio de espacio de trabajo de Jenkins, puede tener un comportamiento un tanto extraño y probablemente quiera eliminar esa rama o recrear el área de trabajo. En general, nunca debe manipular manualmente las ramas en el repositorio del espacio de trabajo.

Nunca debe intentarse utilizar ramas locales (no remotas) para sondear u obtener cambios. Si lo ves hacer esto, entonces definitivamente es un error. Debería intentar actualizar su instancia de jenkins y el complemento git a la versión más nueva, y si todavía ve el problema, debe file an issue (y mientras tanto, puede usar origin/branchname como solución alternativa). Sin embargo, ingresar solo al branchname me funciona bien con la versión más reciente, por lo que si continúa viendo este problema, le recomiendo que vuelva a crear el espacio de trabajo para tratar de obtener un repositorio limpio.

+1

Quiero que nuestra compilación recoja todos los controles remotos/origen/** ramas EXCEPTO para controles remotos/origen/GEcode y controles remotos/origen/puecode que están muy lejos de ser maestros pero los cambios en esas ramas dan como resultado que jenkins los recoja ... ¿cómo los ignoro? –

Cuestiones relacionadas