首页 > 其他分享 >wget下载Gitlab的存档

wget下载Gitlab的存档

时间:2024-05-07 15:34:57浏览次数:21  
标签:GitLab FORMAT URL 存档 Gitlab API wget ID

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"

# 存档格式(可选:zip、tar.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}:指定要下载的存档文件的格式,这可以是 zip、tar.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"

# 存档格式(可选:zip、tar.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}:指定要下载的存档文件的格式,这可以是 zip、tar.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}:指定要下载的存档文件的格式,这可以是 zip、tar.gz 或 tar.bz2 等。
因此,构建出来的 API_URL 是用于下载整个项目的存档文件的完整 URL

 

4.其他

4.1 Gitlab项目ID获取

 

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

 

5.官方文档

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

 

标签:GitLab,FORMAT,URL,存档,Gitlab,API,wget,ID
From: https://www.cnblogs.com/Leonardo-li/p/18177399

相关文章

  • 单个应用失败代码存档
    python版本fromflaskimportFlask,render_template,request,jsonifyimportrequestsimportbase64importosfromPILimportImageimportioimportlogging#ConfigureFlaskapplicationapp=Flask(__name__,template_folder='../web')app.config......
  • Unity游戏框架设计之存档管理器
    Unity游戏框架设计之存档管理器存档管理器的主要功能是实现游戏进度的查询、存储(存档)、读取(读档)和删除(删档)。存档主要有三种实现方案。(一)PlayerPrefs。PlayerPrefs类用于在游戏中存储、删除、修改和访问玩家的数据。存储的数据是持久化的,即使玩家关闭游戏或重新启动设备,数据也......
  • curl wget 下载文件
    curl下载文件:curl-kOhttps://10.0.8.5:8888/chfs/shared/Application/360se13.1.6055.0.exe#下载远程服务器上的文件,需要定位到末端文件-k#忽略服务器ssl证书-O#保存文件至本地,并使用源文件名-ozhang.exe#使用自定义文件名zhang.exe保存......
  • gitlab 如何设置保护分支
    在GitLab上设置保护分支的步骤与在GitHub上略有不同。以下是在GitLab上设置保护分支的步骤:登录GitLab并选择仓库:登录你的GitLab账号,选择你要设置保护分支的项目。进入仓库设置:进入项目页面后,在左侧导航栏中点击“Settings”。选择Repository选项:在“Settings”页面的......
  • Git runner 返回报错: status=couldn't execute POST against dial tcp: lookup gitlab
    当发现Gitlab上的runner显示出runneroffline的问题时1查一下gitrunner的报错runner=xxxxstatus=couldn'texecutePOSTagainsthttps://gitlab/api/v4/jobs/request:Posthttps://gitlab/api/v4/jobs/request:dialtcp:lookupgitonx.x.x.x:53:servermisbehaving......
  • 系统——存档
    目的建立存档机制,玩家存档后可以通过继续游戏按钮读取存档存档保存角色5种参数:血量,最大血量,攻击力,技能状态,攻击力等级1.使用系统自带的存档类创建存档蓝图声明5种需要保存的变量2.使用系统的GameInstance创建游戏实例蓝图游戏实例(GameInstance)是一种生命周期极长的类,因此......
  • Linux服务器中Docker部署的GitLab镜像访问出现500错误
    一背景这几天发现在Linux服务器中Docker部署的GitLab镜像访问出现500错误,在重启服务器后大概10分钟再次出现该情况,后面登录服务器一步步排查最终解决问题,现在将解决问题的过程做一个总结。二过程分析首先第一步就是看看我们Docker目录下文件占用的情况,因为我们的Linux服务......
  • 如何将Docker中GitLab数据备份到宿主Linux上
    一宿主机准备存放备份文件的目录建议以年月日进行命名使用putty.exe或者PowerShell登录远程服务器cdshare(如果没有当前目录请创建该共享目录)mkdir20220930(在共享目录下创建备份文件夹)二进入Docker容器内部备份数据1.执行命令sudodockerexec-itgitlab/bin/......
  • docker下安装gitlab配置以及备份
    安装dockerrun--detach--publish443:443--publish9980:80--publish9922:22--namegitlab--restartalways--volume/srv/gitlab/config:/etc/gitlab--volume/srv/gitlab/logs:/var/log/gitlab--volume/srv/gitlab/data:/var/opt/gitlab--shm-siz......
  • Jenkins集成GitLab的正确姿势,实现Git代码提交触发CI/CD
    ❝jenkins和gitlab是目前DevOps工具链中最常见的,抛开gitlab-ci不谈,gitlab代码提交触发jenkins流水线是最经典的搭配。这里就介绍下如何配置实现jenkins和gitlab之间的集成。安装GitLabPlguinGitlabPlugin-这个插件允许GitLab在提交代码或打开/更新合并请求时触发Jenkins......