一、概述

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=/-/grafana socket=

出现以上信息,表示启动成功了。

三、配置文件

修改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下面的选择框,选择中文

刷新页面,效果如下:

六、关闭注册功能

点击扳手图标

点击设置

点击注册限制-->展开

默认是勾选的,去除勾选

点击底部的保存按钮。

等待几秒钟,重新打开登录页,就没有注册了

基于docker搭建gitlab的更多相关文章

  1. 基于Docker搭建GitLab服务器

    运行环境:CentOS 7.4 一.安装Docker Docker安装可以参照runoob教程(http://www.runoob.com/docker/centos-docker-install.h ...

  2. 基于Docker搭建GitLab代码管理

    关于Git.SVN的优缺点就不再重复了,本篇主要以实际搭建为主. 1.下载镜像文件 在命令行窗口执行如下指令,预计下载完成4分钟. docker pull beginor/gitlab-ce:11.0 ...

  3. 基于Docker的GitLab搭建

    今天写一些Docker搭建GitLab,好久没有写博客园了,今天又回来了,为了学习技术? 建议使用Linux内核系统,或者虚拟机,首先安装docker环境(菜鸟教程) 一.下载镜像文件 如果慢的话,可 ...

  4. 如何搭建基于Docker的gitlab服务器集成CI/CD实现DEVOPS(完整版)

    From this lesson you will learn about 1,How to install and configure a docker based gitlab server 2, ...

  5. 基于docker搭建开源扫描器——伏羲

    基于docker搭建开源扫描器——伏羲 1.简介 项目地址 伏羲是一款开源的安全检测工具,适用于中小型企业对企业内部进行安全检测和资产统计. 功能一览: 基于插件的漏洞扫描功能(类似于巡风) 漏洞管理 ...

  6. [转帖]知乎专栏:正确使用 Docker 搭建 GitLab 只要半分钟

    正确使用 Docker 搭建 GitLab 只要半分钟 https://zhuanlan.zhihu.com/p/49499229 很多程序员在内网搭建 gitlab 都搭建的坑坑洼洼,不支持 htt ...

  7. 【Devops】【docker】【CI/CD】1.docker搭建Gitlab环境

    CI/CD[持续化集成/持续化交付] docker搭建Gitlab环境 1.查询并拉取gitlab镜像 docker search gitlab docker pull gitlab/gitlab-c ...

  8. 基于Docker搭建大数据集群(六)Hive搭建

    基于Docker搭建大数据集群(六)Hive搭建 前言 之前搭建的都是1.x版本,这次搭建的是hive3.1.2版本的..还是有一点细节不一样的 Hive现在解析引擎可以选择spark,我是用spar ...

  9. 基于Docker搭建大数据集群(七)Hbase部署

    基于Docker搭建大数据集群(七)Hbase搭建 一.安装包准备 Hbase官网下载 微云下载 | 在 tar 目录下 二.版本兼容 三.角色分配 节点 Master Regionserver cl ...

随机推荐

  1. 初窥 Python 的 import 机制

    本文适合有 Python 基础的小伙伴进阶学习 作者:pwwang 一.前言 本文基于开源项目: https://github.com/pwwang/python-import-system 补充扩展 ...

  2. 年度账单h5 移动端兼容问题以及优化建议(vue)

    定时器 vue实例中定义timer多余,创建的定时器代码和销毁定时器的代码没有放在一起,通常很容易忘记去清理这个定时器,不容易维护:建议使用this.$once('hook:beforeDestory ...

  3. hdu 4521 小明系列问题——小明序列 线段树

    题意: 给你一个长度为n的序列v,你需要输出最长上升子序列,且要保证你选的两个相邻元素之间在原数组中的位置之差大于d 题解: 这个就是原来求最长上升子序列的加强版,这个思路和最长上升子序列的差不多   ...

  4. AtCoder Beginner Contest 183 E - Queen on Grid (DP)

    题意:有一个\(n\)x\(m\)的棋盘,你需要从\((1,1)\)走到\((n,m)\),每次可以向右,右下,下走任意个单位,\(.\)表示可以走,#表示一堵墙,不能通过,问从\((1,1)\)走\ ...

  5. L2-013 红色警报 (25分) 并查集复杂度

    代码: 1 /* 2 这道题也是简单并查集,并查集复杂度: 3 空间复杂度为O(N),建立一个集合的时间复杂度为O(1),N次合并M查找的时间复杂度为O(M Alpha(N)), 4 这里Alpha是 ...

  6. MiniSMB 网络性能测试 免费版本安装指南

    1) 烧录Image至USB 在Linux环境下可以运行以下命令(假设usb设备符号为/dev/sdb): root# tar -Jxf minismb-free-edition.img.tar.xz ...

  7. Ruby on Rails

    Ruby on Rails 是一个可以使你开发,部署,维护 web 应用程序变得简单的框架.在2004年7月,由Rails的创始人大卫·海纳梅尔·韩森从37signals公司的项目管理工具Baseca ...

  8. 一个操作系统的实现sudo mount -o loop pm.img /mnt/floppy mount point /mnt/floppy does not exist losetup device is busy

    部分参考:https://blog.csdn.net/u012323667/article/details/79266623 一. sudo mount -o loop pm.img /mnt/flo ...

  9. 51nod-1065 最小正子段和 【贪心 + 思维】

    N个整数组成的序列a[1],a[2],a[3],-,a[n],从中选出一个子序列(a[i],a[i+1],-a[j]),使这个子序列的和>0,并且这个和是所有和>0的子序列中最小的. 例如 ...

  10. SPOJ LCS Longest Common Substring(后缀自动机)题解

    题意: 求两个串的最大\(LCS\). 思路: 把第一个串建后缀自动机,第二个串跑后缀自动机,如果一个节点失配了,那么往父节点跑,期间更新答案即可. 代码: #include<set> # ...