use*_*190 27 git http bitbucket
我正在编写一个脚本来轻松部署应用程序.应用程序的代码存储在私有BitBucket存储库中.
我希望能够下载提交的zip文件.我尝试使用以下代码进行身份验证:
https://user:pass@bitbucket.org/user/repo/get/commit.zip
但是,它不是完成任务,而是重定向到BitBucket上的登录页面.
Nic*_*ick 33
就个人而言,我不想将我的密码放入我的脚本来实现这一目标.所以诀窍是在将您的公钥添加到您的bitbucket帐户后运行以下命令:
git archive --remote=ssh://git@bitbucket.org/your_bitbucket_username/your_repository.git --format=zip --output="name_of_your_desired_zip_file.zip" master
Run Code Online (Sandbox Code Playgroud)
我的系统上有多个键,如果你也这样做,你需要在〜/ .ssh目录中创建一个配置文件,指定使用特定的键进行bitbucket连接.
的〜/ .ssh /配置
Host bitbucket.org
StrictHostKeyChecking no
IdentityFile /home/me/.ssh/my_private_key
Run Code Online (Sandbox Code Playgroud)
Gro*_*ger 28
要从命令行下载私有 Bitbucket存储库的压缩副本,请使用以下命令:
curl --digest --user <username>:<password> https://bitbucket.org/<username>/<repository>/get/<branchname>.zip -o <branchname>.zip
Run Code Online (Sandbox Code Playgroud)
其中,<username>和<password>是到位桶帐户名和密码,<repository>是回购协议名称,<branchname>是分支.如果您更愿意下载特定的提交,请使用提交的SHA-1哈希代替<branchname>.
该--digest标志是为了您的安全,强烈建议.它完成身份验证,因此您的用户名和密码不会以明文形式发送.该-o标志将curl命令的输出作为文件发送到磁盘,而不是通过终端屏幕进行流式传输.
注意: Bitbucket的身份验证方案不兼容wget.这就是您必须使用的原因curl.
对于公共 Bitbucket存储库,命令是:
curl https://bitbucket.org/<username>/<repository>/get/<branchname>.zip -o <branchname>.zip
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用wget公共存储库,因为不需要身份验证:
wget https://bitbucket.org/<username>/<repository>/get/<branchname>.zip
Run Code Online (Sandbox Code Playgroud)
除.zip格式外,您还可以下载存储库.gz和.bz2flavor.只需.zip在上面的代码中替换为.gz或者.bz2以您选择的压缩格式下载存储库.
Eri*_*jst 11
--digest标志是为了您的安全,强烈建议.它完成身份验证,因此您的用户名和密码不会以明文形式发送.
这不是真的.
Bitbucket专门使用TLS,因此在任何时候都不会以明文形式通过电线.因此,Digest与Basic Auth相比没有任何好处.实际上,考虑到Digest是服务器启动的,您需要额外的服务器往返请求服务器提供的nonce.
自从几年前我们停止提供未加密的HTTP访问以来,我们对Digest的使用已经被多余和弃用,并且仅仅因为基于卷曲的脚本--digest按照@GrowlTiger的建议进行操作而被保留.
事实上,我们将于5月1日完全关闭Digest,之后curl --digest将停止工作.
可以找到更多信息:https://blog.bitbucket.org/2015/04/03/fare-thee-well-digest-access-authentication/
对于那些想要从bitbucket上的私人仓库下载单个文件的人,我已经尝试了上述但没有工作.最后我使用下面的命令:
wget --user=<user> --password=<password> https://bitbucket.org/<user>/<repo>/raw/master/<filename>
Run Code Online (Sandbox Code Playgroud)
您使用的工具是否支持 URL 中的基本身份验证凭据?在 PHP 中使用摘要身份验证的 Curl 请求下载 Bitbucket 私有存储库强烈暗示:
curl --user user:pass https://bitbucket.org/user/repo/get/commit.zip >commit.zip
Run Code Online (Sandbox Code Playgroud)
作品。
| 归档时间: |
|
| 查看次数: |
27717 次 |
| 最近记录: |