什么是 GitLab

GitLab 是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。它拥有与 Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序 (Wall) 进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

部署 GitLab

我们使用 Docker 来安装和运行 GitLab 中文版,docker-compose.yml 配置如下:

  1. version: '3'
  2. services:
  3.   web:
  4.    image: 'twang2218/gitlab-ce-zh'
  5.    restart: always
  6.    hostname: '192.168.75.145'
  7.    environment:
  8.      TZ: 'Asia/Shanghai'
  9.      GITLAB_OMNIBUS_CONFIG: |
  10.        external_url 'http://192.168.75.145'
  11.        gitlab_rails['gitlab_shell_ssh_port'] = 2222
  12.        unicorn['port'] = 8888
  13.        nginx['listen_port'] = 80
  14.    ports:
  15.      - '80:80'
  16.      - '443:443'
  17.      - '2222:22'
  18.    volumes:
  19.      - ./config:/etc/gitlab
  20.      - ./data:/var/opt/gitlab
  21.      - ./logs:/var/log/gitlab

配置 GitLab

  • 设置管理员初始密码,这里的密码最好是 字母 + 数字组合,并且大于等于 8 位
  • 配置完成后登录,管理员账号是 root

注意: 如果服务器配置较低,启动运行可能需要较长时间,请耐心等待

设置 GitLab

第一次使用时可以做一些初始化设置,点击 管理区域 -> 设置

  • 关闭头像功能,由于 Gravatar 头像为网络头像,在网络情况不理想时可能导致访问时卡顿

  • 由于是内部代码托管服务器,可以直接关闭注册功能,由管理员统一创建用户即可

账户管理

使用时请不要直接通过 root 用户操作,需要先创建用户,然后通过创建的用户操作,如果你是管理员还需要为其他开发人员分配账户

  • 创建账户,点击 管理区域 -> 新建用户

  • 设置账户信息,同时你可以将自己设置为管理员

  • 修改用户密码,由于我们创建时并没有配置邮箱,所以还需要重新编辑用户信息并手动设置密码

  • 退出并使用新账户登录

注意: 创建完账户,第一次登录时还会提示你修改登录密码

项目管理

  • 点击 + 号 -> 新建项目

  • 输入项目名称及描述信息,设置可见等级为私有,这样别人就看不见你的项目

  • 我们选择通过增加一个 README 的方式来初始化项目

  • 直接提交修改即可

使用 SSH 方式拉取和推送

生成 SSH KEY

  • 使用 ssh-keygen 工具生成,位置在 Git 安装目录下,我的是 C:\Program Files\Git\usr\bin,输入命令:
  1. ssh-keygen -t rsa -C "your_email@example.com"
  • 执行成功后的效果:
  1. Microsoft Windows [版本 10.0.14393]
  2. (c) 2016 Microsoft Corporation。保留所有权利。
  3. C:\Program Files\Git\usr\bin>ssh-keygen -t rsa -C "topsale@vip.qq.com"
  4. Generating public/private rsa key pair.
  5. Enter file in which to save the key (/c/Users/Lusifer/.ssh/id_rsa):
  6. Enter passphrase (empty for no passphrase):
  7. Enter same passphrase again:
  8. Your identification has been saved in /c/Users/Lusifer/.ssh/id_rsa.
  9. Your public key has been saved in /c/Users/Lusifer/.ssh/id_rsa.pub.
  10. The key fingerprint is:
  11. SHA256:cVesJKa5VnQNihQOTotXUAIyphsqjb7Z9lqOji2704E topsale@vip.qq.com
  12. The key's randomart image is:
  13. +---[RSA 2048]----+
  14. | + ..=o=. .+. |
  15. | o o + B .+.o.o |
  16. |o . + +=o+.. |
  17. |.= . oo... |
  18. |= o So |
  19. |oE . o |
  20. | .. .. . |
  21. | o*o+ |
  22. | *B*oo |
  23. +----[SHA256]-----+
  24. C:\Program Files\Git\usr\bin>

复制 SSH-KEY 信息到 GitLab

  • 密钥位置在:C:\Users\你的用户名\.ssh 目录下,找到 id_rsa.pub 并使用编辑器打开,如:

  • 登录 GitLab,点击“用户头像”–>“设置”–>“SSH 密钥”

  • 成功增加密钥后的效果

使用 TortoiseGit

克隆项目

  • 新建一个存放代码仓库的本地文件夹
  • 在文件夹空白处按右键
  • 选择 Git 克隆…

  • 复制项目地址到 URL

  • 如果弹出连接信息请选择是

  • 成功克隆项目到本地

推送项目

  • 创建或修改文件(这里的文件为所有文件,包括:代码、图片等)
  • 我们以创建 .gitignore 过滤配置文件为例,该文件的主要作用为过滤不需要上传的文件,比如:IDE 生成的工程文件、编译后的 class 文件等
  • 在工程目录下,新建 .gitignore 文件,并填入如下配置
  1. target/
  2. !.mvn/wrapper/maven-wrapper.jar
  3. ## STS ##
  4. .apt_generated
  5. .classpath
  6. .factorypath
  7. .project
  8. .settings
  9. .springBeans
  10. ## IntelliJ IDEA ##
  11. .idea
  12. *.iws
  13. *.iml
  14. *.ipr
  15. ## JRebel ##
  16. rebel.xml
  17. ## MAC ##
  18. .DS_Store
  19. ## Other ##
  20. logs/
  21. temp/
  • 右键呼出菜单,选择 提交 Master…

  • 点击 全部 并填入 日志信息

  • 点击 提交并推送

  • 成功后的效果图

查看 GitLab 确认提交成功

3.Docker Compose 部署 GitLab的更多相关文章

  1. Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  2. 从零开始一步一步搭建Ubuntu Server服务器、修改数据源、安装Docker、配置镜像加速器、Compose部署Gitlab服务

    场景 最终目的是使用Docker Compose部署一个Gitlab服务. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序 ...

  3. Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  4. 使用Docker Compose部署基于Sentinel的高可用Redis集群

    使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker C ...

  5. Docker Compose 部署前后端分离应用

    部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...

  6. Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  7. 在Windows Server 2019通过Docker Compose部署Asp.Net Core

    一.安装Docker Enterprise 安装文档是: https://docs.docker.com/install/windows/docker-ee/ 安装完成后,如下图 二.首先,拉取一个W ...

  8. 使用Docker Compose 部署Nexus后初次登录账号密码不正确,并且在nexus-data下没有admin,password

    场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  9. Docker Compose部署Nexus3时的docker-compose,yml代码

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

随机推荐

  1. 某cms审计思路,以及ci框架如何找寻注入点

    某cms审计思路,以及ci框架如何找寻注入点 ABOUT 之前闲着没事的时候审的某cms,之前看一群大表哥刷过一次这个cms,想着看看还能不能赶得上分一杯羹,还是审计出来些东西,来说一说一个前台注入吧 ...

  2. Hapi+MySql项目实战自动化文档生成(四)

    自动化生成swagger文档 使用hapi插件hapi-swagger,简单配置下插件,先修改下plugin_config.js文件: //plugin_config.js const Swagger ...

  3. 《算法导论》第二章demo代码实现(Java版)

    <算法导论>第二章demo代码实现(Java版) 前言 表示晚上心里有些不宁静,所以就写一篇博客,来缓缓.囧 拜读<算法导论>这样的神作,当然要做一些练习啦.除了练习题与思考题 ...

  4. css浮动(float)详解

    一.什么是浮动? 浮动,顾名思义,就是漂浮的意思.指的是一个元素脱离文档流,悬浮在父元素之上的现象. 二.如何产生浮动? 给元素本身添加float属性 float值: left 元素向左浮动. rig ...

  5. cdh集群hive升级,数据不丢失

    1.下载hive-1.2.1安装包 http://archive.apache.org/dist/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz 2.将安装包 ...

  6. chatrr lsatrr

    PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的li ...

  7. 编译安装nginx提示./configure: error: C compiler cc is not found

    1 编译安装nginx提示如下 ./configure: error: C compiler cc is not found 2 解决办法 yum -y install gcc gcc-c++ aut ...

  8. -bash: warning: setlocale: LC_CTYPE: cannot change locale (zh_CN.UTF-8mb4): No such file or directory

    前几天登录服务器发现出现了这些个警告,一直没时间去处理他,今天难得有空,处理一下并记录下来,希望可以帮助到有需要的朋友. 警告信息如下: Last login: Tue May :: from 192 ...

  9. MarkdownPad2 安装以及出现的错误(This view has crashed)

    在这里首先感谢 堃堃5love 的解决办法 原文链接:https://blog.csdn.net/kunkun5love/article/details/79495618 声明:写这个是为了以后遇见问 ...

  10. 进阶之路 | 奇妙的Drawable之旅

    前言 本文已经收录到我的Github个人博客,欢迎大佬们光临寒舍: 我的GIthub博客 学习清单: Drawable简介 Drawable分类 自定义Drawable 一.为什么要学习Drawabl ...