自托管GitLab实例版本源码获取:curl命令遇登录重定向问题
解决curl获取GitLab源码tarball被重定向的问题
最可能的原因:curl默认不跟随重定向
浏览器会自动处理重定向跳转,但curl默认不会。你看到的跳转提示就是GitLab返回的重定向响应,curl直接输出了这个页面而没继续请求。解决办法是给curl加-L参数,让它自动跟随重定向:
curl -L --header "Private-Token: my-private-token" "http://gitlab.domain.com/path/to/repository/-/archive/release-tag/release-code.tar.gz"
其他排查方向
- 检查私有令牌权限:确保你的token拥有
read_repository权限,虽然之前能用其他操作,但获取源码包需要这个特定权限,可能之前的操作不需要。 - 确认URL准确性:GitLab的项目路径区分大小写,检查URL里的仓库路径、标签名有没有拼写错误,比如大小写不一致。
- 协议是否匹配:如果你的GitLab实例实际用HTTPS提供服务,浏览器可能自动从HTTP跳转至HTTPS,但curl用HTTP请求时会被重定向到登录页。试试把URL改成
https://开头再执行命令。
内容的提问来源于stack exchange,提问作者Ozmydis
相关产品推荐
相关产品推荐

