wget下载Gitlab的存档

1.wget下载Gitlab项目下整个分支的的存档,download_branch_archive.sh

#!/bin/bash

# GitLab 实例的地址
GITLAB_HOST="172.16.88.5"

# 项目 ID
PROJECT_ID="108"

# 分支名称
BRANCH="StandAlone-4.6.0"

# GitLab 访问令牌
PRIVATE_TOKEN="ijUGXs1DQy5hMTzKjtt789"

# 存档格式(可选:ziptar.gz、tar.bz2)
FORMAT="zip"

# 构建 API URL
API_URL="http://${GITLAB_HOST}/api/v4/projects/${PROJECT_ID}/repository/archive.${FORMAT}?sha=${BRANCH}"

# 使用 curl 发送 GET 请求下载项目存档
curl --header "PRIVATE-TOKEN: ${PRIVATE_TOKEN}" "$API_URL" --output project_archive_${BRANCH}.${FORMAT}

 

  • 参数解释
当构建 API_URL 时,每个参数的含义如下:

${GITLAB_HOST}:GitLab 实例的主机地址,这是 GitLab 的基础 URL。
/api/v4/projects/:GitLab API 的项目路径,这是 API 的基础路径。
${PROJECT_ID}:你的项目在 GitLab 中的唯一标识符,用于指定要操作的项目。
/repository/archive.:指定要访问的 Git 存储库的归档(存档)功能。
${FORMAT}:指定要下载的存档文件的格式,这可以是 ziptar.gz 或 tar.bz2 等。
?sha=${BRANCH}:表示要下载的存档文件的分支名称,sha 是 Git 中表示分支的哈希值,这里直接使用分支名称来表示。
因此,构建出来的 API_URL 是用于下载特定项目、特定分支的存档文件的 URL

 

2.wget下载Gitlab项目分支下指定的存档,download_directory_archive.sh

#!/bin/bash

# GitLab 实例的地址
GITLAB_HOST="172.16.88.5"

# 项目 ID
PROJECT_ID="108"

# 分支名称
BRANCH="StandAlone-4.6.0"

# 目录路径
DIRECTORY_PATH="X86"

# GitLab 访问令牌
PRIVATE_TOKEN="ijUGXs1DQy5hMTzKjtt789"

# 存档格式(可选:ziptar.gz、tar.bz2)
FORMAT="zip"

# 构建 API URL
API_URL="http://${GITLAB_HOST}/api/v4/projects/${PROJECT_ID}/repository/archive.${FORMAT}?sha=${BRANCH}&path=${DIRECTORY_PATH}"

# 使用 curl 发送 GET 请求下载目录存档
curl --header "PRIVATE-TOKEN: ${PRIVATE_TOKEN}" "$API_URL" --output directory_archive_${BRANCH}_${DIRECTORY_PATH}.${FORMAT}

 

  • 参数解释
这个 API_URL 是用于构建 GitLab API 请求的 URL,用于获取指定分支下特定目录的存档文件。下面是每个参数的解释:

${GITLAB_HOST}:GitLab 实例的主机地址,这是 GitLab 的基础 URL,用于构建完整的 API 请求 URL。
/api/v4/projects/:GitLab API 的项目路径,用于指定要操作的项目。
${PROJECT_ID}:你的项目在 GitLab 中的唯一标识符,用于指定要操作的项目。
/repository/archive.:指定要访问的 Git 存储库的归档(存档)功能。
${FORMAT}:指定要下载的存档文件的格式,这可以是 ziptar.gz 或 tar.bz2 等。
?sha=${BRANCH}:表示要下载的存档文件的分支名称,${BRANCH} 是指定的分支名称。
&path=${DIRECTORY_PATH}:表示要下载的存档文件所在目录的路径,${DIRECTORY_PATH} 是指定的目录路径。
因此,构建出来的 API_URL 是用于获取指定项目、指定分支、指定目录下的存档文件的完整 URL

 

3.wget下载Gitlab项目下整个项目所有分支的的存档,download_project_archive.sh

#!/bin/bash

# GitLab 实例的地址
GITLAB_HOST="172.16.88.5"

# 项目 ID
PROJECT_ID="108"

# GitLab 访问令牌
PRIVATE_TOKEN="ijUGXs1DQy5hMTzKjtt789"

# 存档格式(这里是 zip)
FORMAT="zip"

# 构建 API URL
API_URL="http://${GITLAB_HOST}/api/v4/projects/${PROJECT_ID}/repository/archive.${FORMAT}"

# 使用 curl 发送 GET 请求下载整个项目存档
curl --header "PRIVATE-TOKEN: ${PRIVATE_TOKEN}" "$API_URL" --output project_archive_all_branches.${FORMAT}

 

  • 参数解释
这行代码构建了用于下载整个项目的存档的 GitLab API URL。以下是每个部分的解释:

${GITLAB_HOST}:GitLab 实例的主机地址,这是 GitLab 的基础 URL。
/api/v4/projects/:GitLab API 的项目路径,用于指定要操作的项目。
${PROJECT_ID}:你的项目在 GitLab 中的唯一标识符,用于指定要操作的项目。
/repository/archive.:指定要访问的 Git 存储库的归档(存档)功能。
${FORMAT}:指定要下载的存档文件的格式,这可以是 ziptar.gz 或 tar.bz2 等。
因此,构建出来的 API_URL 是用于下载整个项目的存档文件的完整 URL

 

4.其他

4.1 Gitlab项目ID获取

 

4.2 Gitlab访问令牌配置,最后创建令牌就会生成,需要保存好

 

5.官方文档

https://docs.gitlab.com/ee/api/repositories.html

 

posted @ 2024-05-07 15:30  Leonardo-li  阅读(170)  评论(0编辑  收藏  举报