一、概述

GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

二、搭建

环境说明

操作系统:centos 7.6

docker版本:19.03.12

ip地址:192.168.31.145

配置:2核4g

拉取镜像

  1. docker pull gitlab/gitlab-ce

运行

  1. mkdir -p /data/gitlab/
  2. docker run -d \
  3. --restart=always \
  4. --name=gitlab-ce \
  5. -p 8443:443 -p 8090:80 -p 8022:22 \
  6. -v /data/gitlab/config:/etc/gitlab \
  7. -v /data/gitlab/logs:/var/log/gitlab \
  8. -v /data/gitlab/data:/var/opt/gitlab \
  9. gitlab/gitlab-ce

查看日志

  1. docker logs -f gitlab-ce

等待10分钟,输入如下:

  1. ...
  2. 2020-07-23_06:03:55.07085 t=2020-07-23T06:03:55+0000 lvl=info msg="Starting DB migration" logger=migrator
  3. 2020-07-23_06:03:55.07856 t=2020-07-23T06:03:55+0000 lvl=info msg="Starting plugin search" logger=plugins
  4. 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和端口

  1. cd /data/gitlab/config
  2. cp gitlab.rb gitlab.rb.bak
  3. vi gitlab.rb

  1. # external_url 'GENERATED_EXTERNAL_URL'

修改为:

  1. external_url 'http://gitlab.aliyun.com'

注意:这里表示gitlab的访问url,如果需要域名访问,这里必须指定为域名才行。

  1. # gitlab_rails['gitlab_ssh_host'] = 'ssh.host_example.com'

修改为:

  1. gitlab_rails['gitlab_ssh_host'] = 'gitlab.aliyun.com'

注意:这里表示gitlab的ssh访问地址

  1. # gitlab_rails['gitlab_shell_ssh_port'] = 22

修改为:

  1. gitlab_rails['gitlab_shell_ssh_port'] = 8022

注意:这里表示gitlab的ssh端口

修改邮箱

  1. # gitlab_rails['smtp_enable'] = true
  2. # gitlab_rails['smtp_address'] = "smtp.server"
  3. # gitlab_rails['smtp_port'] = 465
  4. # gitlab_rails['smtp_user_name'] = "smtp user"
  5. # gitlab_rails['smtp_password'] = "smtp password"
  6. # gitlab_rails['smtp_domain'] = "example.com"
  7. # gitlab_rails['smtp_authentication'] = "login"
  8. # gitlab_rails['smtp_enable_starttls_auto'] = true
  9. # gitlab_rails['smtp_tls'] = false

修改为:

  1. gitlab_rails['smtp_enable'] = true
  2. gitlab_rails['smtp_address'] = "smtp.163.com"
  3. gitlab_rails['smtp_port'] = 465
  4. gitlab_rails['smtp_user_name'] = "aliyun@163.com"
  5. gitlab_rails['smtp_password'] = "123456"
  6. gitlab_rails['smtp_domain'] = "163.com"
  7. gitlab_rails['smtp_authentication'] = "login"
  8. gitlab_rails['smtp_enable_starttls_auto'] = true
  9. gitlab_rails['smtp_tls'] = true

注意:请根据实际情况填写。

  1. # gitlab_rails['gitlab_email_from'] = 'example@example.com'

修改为:

  1. gitlab_rails['gitlab_email_from'] = 'aliyun@163.com'

注意:这里表示gitlab的发件人地址

重启gitlab

  1. docker exec -it gitlab-ce gitlab-ctl reconfigure
  2. docker restart gitlab-ce

四、nginx发布gitlab

安装nginx

  1. yum install -y nginx
  2. mkdir -p /data/log/nginx
  3. nginx

配置文件

  1. vi /etc/nginx/conf.d/gitlab.aliyun.com.conf

内容如下:

  1. server {
  2. listen 80;
  3. server_name gitlab.aliyun.com;
  4. charset utf-8;
  5. access_log /data/log/nginx/gitlab.aliyun.com.access.log main;
  6. error_log /data/log/nginx/gitlab.aliyun.com.error.log;
  7. client_max_body_size 3072m;
  8. location / {
  9. index index.html index.htm;
  10. proxy_pass http://192.168.31.145:8090;
  11. proxy_set_header Host $host;
  12. proxy_set_header X-Real-IP $remote_addr;
  13. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  14. }
  15. }

注意:请根据实际情况填写。

重新加载配置

  1. nginx -s reload

访问页面

  1. 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. Codeforces Global Round 11【ABCD】

    比赛链接:https://codeforces.com/contest/1427 A. Avoiding Zero 题意 将 \(n\) 个数重新排列使得不存在为 \(0\) 的前缀和. 题解 计算正 ...

  2. 【洛谷 p3371】模板-单源最短路径(图论)

    题目:给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 解法:spfa算法. 1 #include<cstdio> 2 #include<cstdlib> 3 #in ...

  3. HDOJ 1028 母函数分析

    #include<iostream>#include<cstring>using namespace std;int main(){    int c1[10000],c2[1 ...

  4. zoj3545Rescue the Rabbit (AC自动机+状压dp+滚动数组)

    Time Limit: 10 Seconds      Memory Limit: 65536 KB Dr. X is a biologist, who likes rabbits very much ...

  5. hdu5375 Gray code

    Problem Description The reflected binary code, also known as Gray code after Frank Gray, is a binary ...

  6. python代理池的构建5——对mongodb数据库里面代理ip检查

    上一篇博客地址:python代理池的构建4--mongdb数据库的增删改查 一.对数据库里面代理ip检查(proxy_test.py) #-*-coding:utf-8-*- ''' 目的:检查代理I ...

  7. solidity的函数修改器(modifier)

    内容:modifier的定义.modifier对函数参数的操作.modifier执行的顺序 modifier的定义 官方文档:modifier可以改变函数的行为.可以被继承和重写. 其实modifie ...

  8. 自动生成requirements.txt

    Python 自动生成当前项目的requirements.txt 通常我们开发一个python项目时都会用conda 或者 virtualenv 等虚拟环境管理工具来创建一个虚拟环境,在这个虚拟环境中 ...

  9. k8s二进制部署 - flannel安装

    安装Flannel [root@hdss7-21 ~]# cd /opt/src/ [root@hdss7-21 src]# wget https://github.com/coreos/flanne ...

  10. TensorFlow+restore读取模型

    # 注意和前一或二篇Lenet训练并验证的文章从`y_conv = tf.nn.softmax(fc2)`起的不同 # 部分函数请参照前后2篇文章 import tensorflow as tf im ...