基于docker搭建gitlab
时间:2022-07-23
本文章向大家介绍基于docker搭建gitlab,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、概述
GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
二、搭建
环境说明
操作系统:centos 7.6
docker版本:19.03.12
ip地址:192.168.31.145
配置:2核4g
拉取镜像
docker pull gitlab/gitlab-ce
运行
mkdir -p /data/gitlab/
docker run -d
--restart=always
--name=gitlab-ce
-p 8443:443 -p 8090:80 -p 8022:22
-v /data/gitlab/config:/etc/gitlab
-v /data/gitlab/logs:/var/log/gitlab
-v /data/gitlab/data:/var/opt/gitlab
gitlab/gitlab-ce
查看日志
docker logs -f gitlab-ce
等待10分钟,输入如下:
...
2020-07-23_06:03:55.07085 t=2020-07-23T06:03:55+0000 lvl=info msg="Starting DB migration" logger=migrator
2020-07-23_06:03:55.07856 t=2020-07-23T06:03:55+0000 lvl=info msg="Starting plugin search" logger=plugins
2020-07-23_06:03:55.11010 t=2020-07-23T06:03:55+0000 lvl=info msg="HTTP Server Listen" logger=http.server address=127.0.0.1:3000 protocol=http subUrl=/-/gra
出现以上信息,表示启动成功了。
三、配置文件
修改ip和端口
cd /data/gitlab/config
cp gitlab.rb gitlab.rb.bak
vi gitlab.rb
将
# external_url 'GENERATED_EXTERNAL_URL'
修改为:
external_url 'http://gitlab.aliyun.com'
注意:这里表示gitlab的访问url,如果需要域名访问,这里必须指定为域名才行。
将
# gitlab_rails['gitlab_ssh_host'] = 'ssh.host_example.com'
修改为:
gitlab_rails['gitlab_ssh_host'] = 'gitlab.aliyun.com'
注意:这里表示gitlab的ssh访问地址
将
# gitlab_rails['gitlab_shell_ssh_port'] = 22
修改为:
gitlab_rails['gitlab_shell_ssh_port'] = 8022
注意:这里表示gitlab的ssh端口
修改邮箱
将
# gitlab_rails['smtp_enable'] = true
# gitlab_rails['smtp_address'] = "smtp.server"
# gitlab_rails['smtp_port'] = 465
# gitlab_rails['smtp_user_name'] = "smtp user"
# gitlab_rails['smtp_password'] = "smtp password"
# gitlab_rails['smtp_domain'] = "example.com"
# gitlab_rails['smtp_authentication'] = "login"
# gitlab_rails['smtp_enable_starttls_auto'] = true
# gitlab_rails['smtp_tls'] = false
修改为:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "aliyun@163.com"
gitlab_rails['smtp_password'] = "123456"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
注意:请根据实际情况填写。
将
# gitlab_rails['gitlab_email_from'] = 'example@example.com'
修改为:
gitlab_rails['gitlab_email_from'] = 'aliyun@163.com'
注意:这里表示gitlab的发件人地址
重启gitlab
docker exec -it gitlab-ce gitlab-ctl reconfigure
docker restart gitlab-ce
四、nginx发布gitlab
安装nginx
yum install -y nginx
mkdir -p /data/log/nginx
nginx
配置文件
vi /etc/nginx/conf.d/gitlab.aliyun.com.conf
内容如下:
server {
listen 80;
server_name gitlab.aliyun.com;
charset utf-8;
access_log /data/log/nginx/gitlab.aliyun.com.access.log main;
error_log /data/log/nginx/gitlab.aliyun.com.error.log;
client_max_body_size 3072m;
location / {
index index.html index.htm;
proxy_pass http://192.168.31.145:8090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
注意:请根据实际情况填写。
重新加载配置
nginx -s reload
访问页面
http://gitlab.aliyun.com
输入新的密码,比如:abcd@1234
重新登录页面,用户名:root,密码就是刚才修改的。
效果如下:
五、切换中文
gitlab 官方已经开始支持多语言,中文设置方法: 依次点击工具栏最右侧用户头像—>Settings—>Preferred—>Localization 点击Language下面的选择框,选择中文
刷新页面,效果如下:
- 【android开发】Android HAL模块实现
- 让剁手党洞察物体细节,“放大镜”当之无愧
- CSS3过渡,不再为JS动画而犯愁
- 【编程基础】c语言中获取整数和浮点数的符号位
- 前端特效开发 | JS实现聚光灯看图效果
- 【专业知识】Android主线程的消息系统(Handler\Looper)
- CSS3渐变,就是这么玩
- 前端特效开发 | 图片翻转的制作
- 【Windows编程】系列第四篇:使用Unicode编程
- CSS3蒙版 — 元旦快乐!
- 轮播图效果,不再局限于JS制作!
- 【解疑答惑】css中经常被忽略的代码陷阱
- 时间序列预测全攻略(附带Python代码)
- “鼠标移入显示悬浮框”特效,也可以“高大上”
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 基于android实现五子棋开发
- Android Fragment的静态注册和动态注册创建步骤
- Android从Fragment跳转到其他Activity的简单实例
- Android7.0以上Uri转路径的方法实现(已验证)
- Android studio实现简单计算器
- Android 自定义LayoutManager实现花式表格
- android studio编译jar包或者aar包的方法教程详解
- Android实现屏幕录制功能
- Android实现扫描二维码功能
- android实现录屏功能
- android自定义手表效果
- Android 测量文字宽度的实例方法
- Android 添加系统服务的方法详解
- android实现录屏小功能
- Android控件CardView实现卡片效果