Docker 搭建 Gitlab-社区版本

  • Post author:
  • Post category:其他




1.拉取最新镜像

docker pull gitlab/gitlab-ce

在这里插入图片描述



2.第二步进行执行(如果本地80端口没占用尽量用80)

sudo docker run --detach \
  --publish 5443:443 --publish 5080:80 --publish 5022:22 \
  --name gitlab \
  --restart always \
  --volume /data/home/hfg/Data/Gitlab/config:/etc/gitlab \
  --volume /data/home/hfg/Data/Gitlab/logs:/var/log/gitlab \
  --volume /data/home/hfg/Data/Gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest
sudo docker run --detach \
#端口映射
  --publish 5443:443 --publish 5080:80 --publish 5022:22 \
  --name gitlab \
  # 后台方式运行
  --restart always \
  ## 映射的配置目录
  --volume /data/home/hfg/Data/Gitlab/config:/etc/gitlab \
  ## 映射的日志目录
  --volume /data/home/hfg/Data/Gitlab/logs:/var/log/gitlab \
  ## 映射的数据目录
  --volume /data/home/hfg/Data/Gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest



3.查看日志

docker logs 容器id -f



4. 请求本地地址:http://localhost:5080/users/sign_in

在这里插入图片描述

密码在刚才映射的config目录下:/data/home/hfg/Data/Gitlab/config

initial_root_password

在这里插入图片描述



5.可以跟进自己的使用习惯进行语言配置

在这里插入图片描述

如何设置克隆的地址为ip或者为域名:

修改配置文件:/data/home/hfg/Data/Gitlab/config下边的gitlab.rb

# ip 形式
external_url 'http://xx.xx.xx.xx'
# 域名形式
external_url 'http://JemGeek.com'
# 子域名
external_url 'http://gitlab.JemGeek.com'
# 其他形式
external_url 'http://JemGeek.com/gitlab'

在这里插入图片描述

修改完成之后进行重启操作,重新加载了配置

sudo docker exec gitlab gitlab-ctl reconfigure

如果是80端口这样就可以直接进行使用,如图为上传的代码。

在这里插入图片描述



6.如何配置邮箱接受邮件(qq为例)

找到设置-账号有个开启服务,生成授权码

在这里插入图片描述

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "609xxx@qq.com" # 自己邮箱
gitlab_rails['smtp_password'] = "vdqfeabgmtdgbxxx" # 授权码
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = '609xxx@qq.com'

进行加载配置文件

sudo docker exec gitlab gitlab-ctl reconfigure



7创建备份和恢复

gitlab-rake gitlab:backup:create

  • 文件需要放在:/var/log/gitlab/backups

    gitlab-rake gitlab:backup:restore BACKUP=1644179119_2022_02_07_12.8.2_gitlab_backup

    在这里插入图片描述

    如果docker进行脚本备份

    请参考如下脚本,可以配置crontab任务
  • 每12个小时进行一次备份
0 */12 * * * sh /home/data/script/gitlab-backup.sh
!/bin/bash
echo "开始执行gitlab备份命令..."
timer_start=`date "+%Y-%m-%d %H:%M:%S"`
# 注意这里不能加 -it 交互模式参数,否则 crontab 不能正常执行
docker exec gitlab gitlab-backup create
timer_end=`date "+%Y-%m-%d %H:%M:%S"`
duration=`echo $(($(date +%s -d "${timer_end}") - $(date +%s -d "${timer_start}"))) | awk '{t=split("60 s 60 m 24 h 999 d",a);for(n=1;n<t;n+=2){if($1==0)s="0s";break;s=$1%a[n]a[n+1]s;$1=int($1/a[n])}print s}'`
echo "gitlab备份命令执行结束,耗时 $duration "
echo "脚本执行结束"



版权声明:本文为h609232722原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。