Essayé en utilisant
checkout scm: [$class: 'GitSCM',
userRemoteConfigs: [[url: '${repoURL}']],
branches: [[name: 'refs/tags/${tag-version}']]],poll: false
Cela échoue avec une erreur d'authentification. Y a-t-il un autre moyen que d'utiliser
avec les références
à la commande tag dans un Jenkinsfile
Après avoir passé des heures ici
La manière correcte d’utiliser GitSCM dans un pipeline déclaratif est
checkout scm: [$class: 'GitSCM', userRemoteConfigs: [[url: repoURL, credentialsId: credential]], branches: [[name: tag-version]]],poll: false
Pas comme je l'ai trouvé dans la plupart des endroits sur le web
checkout scm: [$class: 'GitSCM', userRemoteConfigs: [[url: repoURL], [credentialsId: credential]], branches: [[name: tag-version]]],poll: false
Peut-être non pertinent, mais les expressions de variable ne sont développées que dans des chaînes entre guillemets, et non dans des chaînes entre guillemets.
Je m'attendrais à ce que cela fonctionne comme une branche normale. Avez-vous essayé sans le préfixe 'refs/tags /'?
Je dois aussi citer l'ID d'identification
stage('checkout') {
steps {
checkout([$class: 'GitSCM', branches: [[name: tagVersion]],
userRemoteConfigs: [[url: 'ssh://git@repo',
credentialsId: 'my-user-id']]
])
}
}
Annoation
"my-user-id" est l'identifiant de l'entrée que vous trouverez sur la page des informations d'identification.
Mais c’est pas le titre que vous voyez dans la liste déroulante du gui.
L'erreur d'authentification n'a rien à voir avec la balise - cela ressemble à 2 problèmes différents.
Vous devez ajouter une credentialId
à la partie userRemoteConfigs
, en tant que telle:
checkout scm: [$class: 'GitSCM', userRemoteConfigs: [[url: '${repoURL}'], [credentialsId: '${credential}']], branches: [[name: '${tag-version}']]],poll: false
En outre, vous pouvez utiliser le format suivant pour les variables:
checkout scm: [$class: 'GitSCM', userRemoteConfigs: [[url: repoURL], [credentialsId: credential]], branches: [[name: tag-version]]],poll: false