1、gitlab安装
1.1、安装相关依赖
sudo apt install ca-certificates curl openssh-server postfix
postfix是一种电子邮件服务器,安装时弹出选择框,选择默认即可。
1.2 安装gitlab
wget -c https://mirrors.tuna.tsinghua.edu.cn/gitlad-ce/ubuntu/pool/focal/main/g/gitlab-ce/gitlab-ce14.2.0-ce.0_amd64.deb
sudo dpkg -I gitlab-ce_14.2.0-ce.0_amd64.deb
如下图所示
1.3配置gitlab
1、修改gitlab.文件
sudo vi /etc/gitlab/gitlab.rb
找到external_url关键字,修改web登陆的ip以及端口。
ubuntu 本机地址为192.168.47.97,所以我这里改为
external_url ‘http://192.168.47.97:3001’ ,保存退出。
2、输入命令重新配置gitlab,重启gitlab
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
2、代码同步
1、先下载自己需要管理的代码,比如作者用aosp11_r48的代码
3、批量在gitlab创建项目
#!/bin/bash
myToken="your token"#需要自行在gitlab网页上申请accesskey
#根据名字获取groupId
function getGroupId()
{
groupName=$1
i=0
rm -rf b.txt
for ((i=1;i<=10;i++))
do
#echo "i为"$i
groupsJsonTemp=$(curl -s --request GET --header "PRIVATE-TOKEN: $myToken" "http://127.0.0.1:8090/api/v4/groups?page=$i&per_page=100")#127.0.0.1:8090 替换成自己的IP和端口
if [[ $groupsJsonTemp != "[]" ]]
then
echo $groupsJsonTemp >> b.txt
else
break
fi
done
var=$(cat b.txt | jq ".[] | select(.name == \"$groupName\").id")
echo $var
}
function createGroup()
{
groupName=$1
preGroupId=$2
tempVar=$(curl -s --request POST --header "PRIVATE-TOKEN: $myToken" \
--header "Content-Type: application/json" \
--data "{\"path\": \"$groupName\", \"name\": \"$groupName\", \"parent_id\": $preGroupId, \"visibility\":\"internal\" }" \
"http://127.0.0.1:8090/api/v4/groups/")#127.0.0.1:8090 替换成自己的IP和端口
#echo "createGroup: "$tempVar
}
function createProject()
{
projectName=$1
groupId=$2
tempVar=$(curl -s --request POST --header "PRIVATE-TOKEN: $myToken" --data "name=$projectName&namespace_id=$groupId&visibility=internal&default_branch=master&initialize_with_readme=true" http://127.0.0.1