在Gitlab上创建一个私人仓库的单个文件,以便公开访问

时间:2018-05-03 08:49:13

标签: gitlab wget

我的GitLab私人仓库中有一个bash脚本文件。我希望在运行NSFileManager * fm = [[NSFileManager alloc] init]; for(some_conditions) { BOOL result = [fm moveItemAtPath:x toPath:y error:&err]; } 命令时在Linux中下载该文件,但由于该文件托管在私有仓库中,因此无法执行此操作,因此它将转到“登录”页面。

有没有办法让这个单一文件可公开访问?如果没有,是否有办法在尝试打开文件时将我的凭据包含在GET URL中?

2 个答案:

答案 0 :(得分:4)

如果您可以使用curl,则可以使用GitLab API get a raw file from repository。您还需要添加私人令牌以获取此文件。

例如:

curl --request GET --header 'PRIVATE-TOKEN: YOUR_PRIVATE_TOKEN' 'https://gitlab.example.com/api/v4/projects/PROJECT_ID/repository/files/FILE_NAME/raw?ref=BRANCH' --output FILE_NAME

答案 1 :(得分:1)

如@Revkoni所述,您可以使用GitLab API

$ wget --header="PRIVATE-TOKEN: XXXXXXXX" "https://gitlab.example.com/api/v4/projects/PROJECT_ID/repository/files/FILE_NAME/raw?ref=BRANCH"