usar tipos tener tag sirve repositorios repositorio qué proyecto podemos partir para otro nuevo nuestros nos mayor los herramienta hacer etiquetas eliminar cómo cuando crear creamos control califican bamboo git-tag

bamboo - tipos - Cómo etiquetar un repositorio git en una construcción de bambú



¿qué herramienta podemos hacer para tener un mayor control de nuestros proyecto en github? (2)

Estoy tratando de etiquetar el git repo de una gema de rubí en una construcción de bambú. Pensé que hacer algo como esto en ruby ​​haría el trabajo

`git tag v#{current_version}` `git push --tags`

Pero el problema es que el repositorio no tiene el origen. De alguna manera el bambú se está deshaciendo del origin Alguna pista?


Parece que después de una verificación por parte del agente de bambú, la URL del repositorio remoto para el origen se establece como file://nothing

[remote "origin"] url = file://nothing fetch = +refs/heads/*:refs/remotes/origin/*

Es por eso que podemos actualizar la url usando git remote set-url o en mi caso, acabo de crear un nuevo alias para que no rompa el comportamiento existente. Debe haber una buena razón por la cual se establece de esta manera.

[remote "build-origin"] url = <remote url> fetch = +refs/heads/*:refs/remotes/build-origin/*

También me di cuenta de que el uso de ${bamboo.planRepository.<position>.repositoryUrl} no me funcionó porque estaba definido en mi plan como https . Cambiando a ssh funcionó.


Sí, si navega al área de trabajo del trabajo, encontrará que Bamboo no hace un clon de git directo "bajo el capó", y que el control remoto está configurado como una ruta de archivo interna.

Afortunadamente, Bamboo almacena la URL del repositorio original como $ {bamboo.repository.git.repositoryUrl}, por lo que todo lo que necesita hacer es configurar un control remoto que apunte hacia el original y empujar hacia allí. Esto es lo que he estado usando con los repositorios básicos de Git y Stash, creando una etiqueta basada en el número de compilación.

git tag -f -a ${bamboo.buildNumber} -m "${bamboo.planName} build number ${bamboo.buildNumber} passed automated acceptance testing." ${bamboo.planRepository.revision} git remote add central ${bamboo.planRepository.repositoryUrl} git push central ${bamboo.buildNumber} git ls-remote --exit-code --tags central ${bamboo.buildNumber}

La línea final es simplemente para hacer que la tarea falle si no se puede volver a leer la etiqueta recién creada.

EDITAR: No tenga la tentación de usar la variable $ {bamboo.repository.git.repositoryUrl}, ya que esto no necesariamente apuntará al repositorio que se obtuvo en su trabajo.

También tenga en cuenta que si está retirando de varias fuentes, $ {bamboo.planRepository.repositoryUrl} apunta al primer repositorio en su tarea de "Comprobación del código fuente". Las URL más específicas son referenciadas a través de:

${bamboo.planRepository.1.repositoryUrl} ${bamboo.planRepository.2.repositoryUrl} ...

y así.