web-dev-qa-db-fra.com

Commander une étiquette dans le pipeline Jenkins

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

3
rashidcmb

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

8
rashidcmb

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.

1
Mark Bidewell

Je m'attendrais à ce que cela fonctionne comme une branche normale. Avez-vous essayé sans le préfixe 'refs/tags /'?

0
iocanel

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.

0
Matthias M

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

0
yorammi