我尝试使用jenkins execute shell(而不是git插件)制作我的bitbucket repo的克隆(镜像)。
我的凭据:
username
passwd
保存在变量中:myuser
凭证是对的。我们使用this plugin来保存凭据。对于其他一些回购(我们当地的git,而不是bitbucket),我们的做法完全相同,而且效果非常好。
现在我尝试:
git clone --mirror https://${myuser}@bitbucket.org/team/repo.git
我面临的错误是:
fatal: unable to access 'https://****@bitbucket.org/team/repo.git/': Port number ended with 'T'
答案 0 :(得分:2)
只是碰到了类似的问题(尝试使用Gerrit UI生成的随机HTTP密码通过HTTPS克隆Gerrit,以https://<username>:<password>@<gerrit.repo.url>
的形式使用URL并获取&#39;端口号以...&#39;错误),密码必须正确地引用。
意识到在尝试使用&#39;存储&#39;设置git-credentials后帮助和偷看它创建的文件: - )
答案 1 :(得分:2)
我们需要对URL进行编码,同时使用http或https协议在用户名或密码中传递特殊字符。例如,如果要在密码中使用 user#1 并在URL中使用它,则需要使用%23 对#进行编码,然后密码变为 user%231 。
参考:https://github.com/curl/curl/issues/1909#issuecomment-331565533
答案 2 :(得分:0)
对我来说,git clone也无法正常工作。但是在添加适当的git remote origin之后,它就可以工作了。
Step 1. mkdir /local/repo/dir && cd /local/repo/dir
Step 2. git init
Step 3. git remote add origin https://<username>@bitbucket.org/<orgName>/<reponame>.git
现在git pull可以正常工作了