欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > Gitlab自动化相关脚本

Gitlab自动化相关脚本

2024/11/13 15:44:28 来源:https://blog.csdn.net/m0_61864577/article/details/143506878  浏览:    关键词:Gitlab自动化相关脚本

@TOC](Gitlab自动化相关脚本)

本文演示了Gitlab如何自动上传SSH Key、如何clone代码免提示以及自动下载Gitlab上的文件

1.基础信息

  • Gitlab服务器地址:192.168.1.100
  • 创建的Personal Access Tokens: vvRkXLXZF9PhtoSqGnbJ

2.自动上传SSH Key

# 确保删除 .ssh 目录中的文件时没有无关数据影响
rm -rf /root/.ssh/*# 生成新的 SSH 密钥
ssh-keygen -t ed25519 -N '' -f /root/.ssh/id_ed25519 -C "aiping.song@vastaitech.com" -q# 读取公钥内容
KEY=$(cat /root/.ssh/id_ed25519.pub)# 构建 JSON 字符串
json_string=$(cat <<EOF
{"title": "My Key","key": "$KEY"
}
EOF
)# 使用 curl 发出 POST 请求
curl --request POST "http://192.168.1.100/api/v4/user/keys" \--header "PRIVATE-TOKEN: vvRkXLXZF9PhtoSqGnbJ" \--header "Content-Type: application/json" \--data "$json_string"

3.clone代码免提示

GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no" git clone git@192.168.1.100:group/proj.git
cd /home/proj
git submodule update --init

4.自动下载Gitlab上的文件

curl --header 'Private-Token:vvRkXLXZF9PhtoSqGnbJ' \--output yourfile \"http://192.168.1.100/api/v4/projects/<Project ID>/repository/files/<文件路径>/raw?ref=<分支名>"
  • 文件路径中的/用%2F代替,比如:python/demo.txt 修改为 python%2Fdemo.txt

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com