下载GitLab私有存储库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下载GitLab私有存储库相关的知识,希望对你有一定的参考价值。

我想用curl在GitLab下载我的私人仓库。我知道我可以使用Gitlab API,但出于某种原因,它不起作用。

这可能吗?当我尝试这样做时,它总是返回登录页面。

答案

这是可能的,只需按照以下步骤操作:

  1. 首先,您必须创建“个人访问令牌”: 去Your Profile > Settings > Access Tokens。 输入“个人访问令牌”的名称。 检查“api访问经过身份验证的用户的API” Personal Access Tokens 点击“创建个人访问令牌” 该页面将重新加载并保存您的新令牌。 确保将令牌保存在安全的地方,您将无法再次查看它。 New "Personal Access Token"
  2. 现在您已拥有“个人访问令牌”,您需要获取项目ID才能使用API​​: 转到https://gitlab.com/api/v3/projects?private_token=XXXXXXXXXXXXXXXXXXXX(用新令牌替换Xs) 从json获取项目的id。 Project id
  3. 现在你可以打电话: wget -O your_project.tar.gz https://gitlab.com/api/v3/projects/0000000/repository/archive?private_token=XXXXXXXXXXXXXXXXXXXX

那将把你的项目下载为.tar.gz文件。

另一答案

您可以使用您的私有令牌(位于“配置文件设置”中)来访问任何资源。只需浏览到要下载的存储库文件,复制“原始”文件链接并附加?private_token = ...

例:

curl https://git.local/user1/myrepo/raw/master/myfile.txt?private_token=ahgiretherghaeoi
另一答案

你可以,但你需要自己验证(如“Gitlab API: How to generate the private token”)

curl http://gitlab.server/api/v3/session --data 'login=myUser&password=myPass'

然后用private token

curl --header "PRIVATE-TOKEN: QVy1PB7sTxfy4pqfZM1U" "http://example.com/api/v3/projects"

或者,在您的情况下,获取repository files

GET /projects/:id/repository/files

或者,直接下载一个文件。

另一答案

如果您需要在CI运行中执行此操作并且您的私人仓库位于同一服务器上,您应该能够使用git submodules同时克隆其他仓库。自GitLab 8.12起,使用${CI_JOB_TOKEN}就是another option

以上是关于下载GitLab私有存储库的主要内容,如果未能解决你的问题,请参考以下文章

无法导入私有 gitlab 存储库 [重复]

如何授予用户级别访问私有 GitLab 存储库的权限?

如何通过 https 使用私有 GitLab 存储库作为带有私有令牌的 npm 依赖项

让 GitLab CI 克隆私有存储库

如何在私有 GitLab 存储库中使用 Go

添加 GitLab 私有存储库作为 Maven 依赖项