Gitlab(Docker)中批量添加用户及邮件配置

gitlab页面可以添加用户,但是无法批量添加。可以使用api的方式批量添加用户:

1、创建token

在User Setting--Access Tokens中添加token:

复制创建好的token

2、配置脚本及用户信息文件

# vim userinfo.txt

name username password user_email
例如:
zhangshan zhangshan zhangshan123 [email protected]

# vim user_add.sh

#!/bin/bash
userinfo="userinfo.txt"
while read line
do
name=`echo $line|awk ‘{print $1}‘`
username=`echo $line|awk ‘{print $2}‘`
userpass=`echo $line|awk ‘{print $3}‘`
mail=`echo $line|awk ‘{print $4}‘`
curl -d "can_create_group=false&password=$userpass&email=$mail&username=$username&name=$name&private_token=qxxgPTxxxe1qH8J1" "http://gitlab.xxx.com/api/v4/users"
done<$userinfo

chmod +x user_add.sh

3、运行脚本

sh user_add.sh

4、查看gitlab,用户已创建,但是需要邮件confirm

5、配置gitlab邮件

由于gitlab的容器镜像未安装sendmail,所以需要安装后才能发送邮件
Dockerfile如下:

FROM gitlab/gitalab-ce
RUN apt-get update & apt-get install postfix

需要修改gitlab配置:

#vim /etc/gitlab/gitlab.rb
#腾讯企业邮箱
gitlab_rails[‘smtp_enable‘] = true
gitlab_rails[‘smtp_address‘] = "smtp.exmail.qq.com"
gitlab_rails[‘smtp_port‘] = 465
gitlab_rails[‘smtp_user_name‘] = "[email protected]"
gitlab_rails[‘smtp_password‘] = "xxxxxx"
gitlab_rails[‘smtp_authentication‘] = "login"
gitlab_rails[‘smtp_enable_starttls_auto‘] = true
gitlab_rails[‘smtp_tls‘] = false
gitlab_rails[‘gitlab_email_from‘] = ‘[email protected]‘
gitlab_rails[‘smtp_domain‘] = ‘exmail.qq.com‘

6、测试发送邮件

gitlab-rails console

Notify.test_email(‘[email protected]‘,‘标题,‘正文‘).deliver_now

这里出现报错:

postdrop: warning: mail_queue_enter: create file maildrop/xxxx.xxxx: Permission denied
postdrop: warning: mail_queue_enter: create file maildrop/yyyy.yyyy: Permission denied

解决方法:

# chown postfix.postdrop /var/spool/postfix/public -R
# chown postfix.postdrop /var/spool/postfix/maildrop -R
# chmod 777 -R /var/spool/postfix

邮箱配置能成功发送邮件后,新建用户,用户收到的邮箱打开gitlab服务器域名是容器主机名称,需做修改

vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml

host: xxxx
port: 80
https: false

重启

gitlab-ctl reconfigure

原文地址:https://blog.51cto.com/bilibili/2457496

时间: 2024-11-10 16:01:40

Gitlab(Docker)中批量添加用户及邮件配置的相关文章

gitlab批量添加用户的方法

gitlab批量添加用户的方法要在gitlab中添加新的用户,可以用管理员账户在登录gitlab后进入admin area页面,进行添加用户的操作.但是这样只能手工进行操作,一次只能添加一个用户.如果需要一次添加大量用户,不仅操作速度慢,还很容易出错.要能够?批量添加用户,一个比较好的解决方案是使用gitlab提供的api接口.gitlab API的使用可以参考的gitlab的帮助文档,gitlab提供了很多语言的api 客户端.这里只介绍最简单的http方法.所有的api请求都要进行身份验证,

在Exchange 2010中批量导入用户

在某一个项目中,客户需要将2000多个联系人导入到Exchange 2010中,作为外部邮件联系人对MAPI连接的用户可见,而且要划分到特定的地址簿中去.客户提供excel列表以便导入使用. 由于导入操作需要使用CSV格式文件,所以要预先将excel修改.打开excel,然后将文件另存为CSV后缀的即可.需要注意的是,另存为只对单个工作区起作用. 导入操作对CSV文件的字段要求,最基本的需要4个字段:displayName,mail,DN,objectClass. displayName:显示名

利用shell实现批量添加用户

批量添加用户并设置随机密码,把添加的用户的名字和密码保存到文件中. [[email protected] scripts]# cat user.sh #!/bin/sh for i in `seq -w 10` do pass=$(echo "`date`$RANDOM"|md5sum|cut -c 1-8) //取随机数的方法是date结果和random随机数拼接并计算md5值取前8位 useradd kg$i echo "$pass"|passwd --stdi

SHELL脚本批量添加用户

在Linux服务中添加相应的用户账号,初始密码均为"123456".可以先指定所有用户的列表文件,然后编写一个名为uadduser.sh的脚本 [[email protected] ~]# vim /root/users.txt                       //新建一个指定所有用户的列表文件xiaomingxiaoqingxiaofangxiaodong [[email protected] ~]# vim uadduser.sh         //创建批量添加用户的

为Discuz! X3.2批量添加用户的python脚本

为Discuz! X3.2批量添加用户的python脚本 搭建了一个Discuz! X3.2环境用于工作,需要添加用户时没有找到合适的工具,虽然同事最终用按键精灵解决了问题,不过还是决定写一段代码留下来,也许用得上. 之所以是Python而不是PHP,只是最近在接触Python,发现在这种场合更加方便. 添加用户代码: # encoding: utf-8 ''' Created on 2015年7月1日 @author: ZhongPing ''' import urllib import ur

(转)通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加

通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加 原文:http://www.21yunwei.com/archives/4773 有一个朋友问我如何批量创建用户和设置密码 ,我就简单给他写了两个脚本,让他自己参考下并自己根据实际情况进行修改,毕竟他需要的用户名和密码都是实际生产环境的. 这里分两种情况,一种是测试for循环批量添加用户,一个是根据实际生产环境进行批量添加.分别写一下案例如下:1,for添加指定类型用户以及设置随机密码.脚本作用:批量添加user1-10用

工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话"Hello World!!"   2> 编写一个能输出系统信息的 /root/sysinfo 脚本,执行后依次输出当前红帽系统的版本信息.当前使用的内核版本.当前系统的主机名 方案: 规范Shell脚本的一般组成: 1> #! 环境声明(Sha-Bang)    2> # 注释文本 

如何在域中批量建立用户

域中批量建立用户 标签:张兆森 如何在域里批量建立用户.实现的目的是什么. 减轻管理员建立用户的步骤,省时间.减轻工作量. 实验步骤: 1.先打开Excel表格创建需要导入的用户的列表,并保存为.CSV文件,移动到域控制器下的某个磁盘里 2.再去域里建立一个OU(即组织单位) 在进入命令行工具里去 3.输入for /f "tokens=1,2,3,4,5,6,7 delims=,"  %a in (c:\Book11.csv) do dsadd user "cn=%c,ou=

linux中手动添加用户(图解)

1.在/etc/group 中添加组,如果用户有附加组,则在附加组后添加上用户的名称 2.在/etc/passwd 中初始化添加用户和对应的组ID等 3.在/etc/shadow 中添加用户的一些设置 4.将/etc/skel/ 目录下文件拷贝到 home/用户目录下 5.修改/home/用户目录的所属者和所属组为此用户,及其组 6.修改/home/用户目录的g o 权限为----- 如果在shadow中没有给用户添加密码,则此用户无法登陆,但是可以通过su命令登陆. 暂未上图,需要图者,在下留