gitlab - 获取最新版本的 gitlab 文件存档

标签 gitlab

这将使我从存储库获取存档:

GET/projects/:id/repository/archive.tar.gz

有什么方法可以传递参数,以便我获得最新版本的存档而不仅仅是 HEAD?

最佳答案

您可以使用以下API获取存储库的标签:

GET /projects/:id/repository/tags

正如文档所描述的 https://docs.gitlab.com/ee/api/tags.html#list-project-repository-tags
您从项目中获取存储库标签列表,按更新日期和时间降序排序

与存档 API 结合使用

GET /projects/:id/repository/archive[.format]

我们可以获得包含以下一行的最新版本:

curl  --header "PRIVATE-TOKEN: <private token>" https://gitlab.com/api/v4/projects/<project id>/repository/archive.tar.gz?sha=$(curl -s --header "PRIVATE-TOKEN: <private token>" "https://gitlab.com/api/v4/projects/<project id>/repository/tags" | jq '.[0].commit.id' | sed 's/^"\(.*\)"$/\1/') -o /path/to/file

关于gitlab - 获取最新版本的 gitlab 文件存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70791863/

相关文章:

continuous-integration - 具有多个 Terraform 配置的有效 GitLab CI/CD 工作流程?

gitlab - 不允许使用 JGIT 的 git-upload-pack

git - 限制 GitHub 或 Bitbucket 存储库的访问

我的 appSettings.json 中的 Gitlab CI/CD 变量替换

continuous-integration - 是否可以只缓存一天的 GitLab 构建工件?

GitLab CI Build 不上传代码接收的工件

Gradle 仅在 CI 工作期间提示缺少 jar

Jenkins 管道自动分支检测

GitLab:无法将代码推送到服务器?

deployment - 获取gitlab-ci中包含项目的具体目录