Есть ли у вас эта переменная ${GIT_CREDENTIALS_ID}
, объявленная уже в директиве environment в вашем конвейере? Если вы не объявляете это сначала или используете значение переменной напрямую, как указано ниже:
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'MyID', usernameVariable: 'GIT_USERNAME', passwordVariable: 'GIT_PASSWORD']]) {
sh("git tag -a some_tag -m 'Jenkins'")
sh("git push https://${env.GIT_USERNAME}:${env.GIT_PASSWORD}@<REPO> --tags")
}
ИЛИ
Вам не нужно передавать пароль вместе с вашим GIT URL репо в jenkinsfile, если вы используете sshagent для создания тега и pu sh.
pipeline {
agent any
stages {
stage("Tag and Push") {
when { branch 'master' }
environment {
GIT_TAG = "jenkins-$BUILD_NUMBER"
}
steps {
sh('''
git config user.name 'my-ci-user'
git config user.email 'my-ci-user@users.noreply.github.example.com'
git tag -a \$GIT_TAG -m "[Jenkins CI] New Tag"
''')
sshagent(['my-ssh-credentials-id']) {
sh("""
#!/usr/bin/env bash
set +x
export GIT_SSH_COMMAND="ssh -oStrictHostKeyChecking=no"
git push origin \$GIT_TAG
""")
}
}
}
}
}