基于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下面的选择框,选择中文
刷新页面,效果如下:
- 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 数组属性和方法
- 微信公众号之主动给用户发送消息功能
- laravel异步监控定时调度器实例详解
- python按顺序重命名文件并分类转移到各个文件夹中的实现代码
- Python实现删除某列中含有空值的行的示例代码
- python打开音乐文件的实例方法
- PHP基础之输出缓冲区基本概念、原理分析
- 基于python实现删除指定文件类型
- sync-player:使用websocket实现异地同步播放视频
- CentOS7.0下安装PHP5.6.30服务的教程详解
- PHP实现微信提现功能
- PHP实现SMTP邮件的发送实例
- php实现有序数组旋转后寻找最小值办法
- PHP APP微信提现接口代码
- ThinkPHP5 的简单搭建和使用详解
- php中怎么执行linux命令详解