〇、使用isulad代替docker部署gitlab
#在执行前需提前配置cni插件
isula run \
-d \
-p 80:80 \
-p 22:22 \
-v /root/gitlab/etc:/etc/gitlab \
-v /root/gitlab/log:/var/log/gitlab \
-v /root/gitlab/opt:/var/opt/gitlab \
--net cni0 \
--ip 192.168.0.2 \
--restart always \
--privileged=true \
--name gitlab \
gitlab/gitlab-ce
#查看密码
isula exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
isula exec -it gitlab
vi /etc/gitlab/gitlab.rb
#直接在gitlab.rb文件头部进行添加
external_url 'http://10.20.172.241' #外部访链接
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '10.20.172.241'
#修改后记得重启
一、导入账号信息
操作步骤
1、使用有admin权限的账号登录gitlab
2、点击右上角头像,点击偏好设置
3、如图所示添加访问令牌
4、准备脚本
创建userinfo.txt
123321qqq test1@test.com test1 张三
123321qqq test2@test.com test2 李四
123321qqq test3@test.com test3 王五
123321qqq test4@test.com test4 吕六
对应字段为:密码 邮箱 用户名 别名,字段可按需调整
创建脚本adduser.sh
#!/bin/bash
# 用户信息文件
userinfo="userinfo.txt"
# 读取文件
while read -r line
do
# 去除行首尾空格
l=`echo $line | awk '{gsub(/^\s+|\s+$/, "");print}'`
echo $l
# 按照空格分隔 字段顺序按需调整,但需与userinfo.txt文件一致
password=`echo $l | awk '{print $1}'`
email=`echo $l | awk '{print $2}'`
username=`echo $l | awk '{print $3}'`
name=`echo $l | awk '{print $4}'`
# 发送post请求 token与url需更换为自己的
curl --cacert /root/Root-CA.crt -X POST -H "PRIVATE-TOKEN: glpat-Z9pE5UqwsYLaPipx3Jsy" "https://git.com.cn/api/v4/users" -H 'cache-control: no-cache' -H 'content-type: application/json' \
-d '{ "email": "'"$email"'", "username": "'"$username"'", "password": "'"$password"'", "name": "'"$name"'", "skip_confirmation": "true" }'
echo ""
done < $userinfo
其中token和api地址自行替换--cacert /root/Root-CA.crt
由于源站采用自签证书,因此需要加上该参数
给adduser.sh添加可执行权限并执行
chmod +x adduser.sh
bash adduser.sh
至此批量导入用户已完成
二、导出gitlab用户信息
isula exec -it gitlab bash
su - gitlab-psql
echo 'select name,username,email,state from users;' |psql -h /var/opt/gitlab/postgresql -d gitlabhq_production > userinfo.txt
用户信息在userinfo.txt里
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容