3.Docker Compose 部署 GitLab
什么是 GitLab
GitLab 是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。它拥有与 Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序 (Wall) 进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
部署 GitLab
我们使用 Docker 来安装和运行 GitLab 中文版,docker-compose.yml 配置如下:
version: '3'services:web:image: 'twang2218/gitlab-ce-zh'restart: alwayshostname: '192.168.75.145'environment:TZ: 'Asia/Shanghai'GITLAB_OMNIBUS_CONFIG: |external_url 'http://192.168.75.145'gitlab_rails['gitlab_shell_ssh_port'] = 2222unicorn['port'] = 8888nginx['listen_port'] = 80ports:- '80:80'- '443:443'- '2222:22'volumes:- ./config:/etc/gitlab- ./data:/var/opt/gitlab- ./logs:/var/log/gitlab
配置 GitLab
- 访问地址:http://ip:8080

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

注意: 如果服务器配置较低,启动运行可能需要较长时间,请耐心等待
设置 GitLab
第一次使用时可以做一些初始化设置,点击 管理区域 -> 设置

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

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

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

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

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


- 退出并使用新账户登录

注意: 创建完账户,第一次登录时还会提示你修改登录密码
项目管理
- 点击 + 号 -> 新建项目

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

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

- 直接提交修改即可

使用 SSH 方式拉取和推送
生成 SSH KEY
- 使用 ssh-keygen 工具生成,位置在 Git 安装目录下,我的是
C:\Program Files\Git\usr\bin,输入命令:
ssh-keygen -t rsa -C "your_email@example.com"
- 执行成功后的效果:
Microsoft Windows [版本 10.0.14393](c) 2016 Microsoft Corporation。保留所有权利。C:\Program Files\Git\usr\bin>ssh-keygen -t rsa -C "topsale@vip.qq.com"Generating public/private rsa key pair.Enter file in which to save the key (/c/Users/Lusifer/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /c/Users/Lusifer/.ssh/id_rsa.Your public key has been saved in /c/Users/Lusifer/.ssh/id_rsa.pub.The key fingerprint is:SHA256:cVesJKa5VnQNihQOTotXUAIyphsqjb7Z9lqOji2704E topsale@vip.qq.comThe key's randomart image is:+---[RSA 2048]----+| + ..=o=. .+. || o o + B .+.o.o ||o . + +=o+.. ||.= . oo... ||= o So ||oE . o || .. .. . || o*o+ || *B*oo |+----[SHA256]-----+C:\Program Files\Git\usr\bin>
复制 SSH-KEY 信息到 GitLab
- 密钥位置在:
C:\Users\你的用户名\.ssh目录下,找到id_rsa.pub并使用编辑器打开,如:

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

- 成功增加密钥后的效果

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

- 复制项目地址到 URL

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

- 成功克隆项目到本地

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

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

- 点击 提交并推送

- 成功后的效果图

查看 GitLab 确认提交成功

3.Docker Compose 部署 GitLab的更多相关文章
- Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- 从零开始一步一步搭建Ubuntu Server服务器、修改数据源、安装Docker、配置镜像加速器、Compose部署Gitlab服务
场景 最终目的是使用Docker Compose部署一个Gitlab服务. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序 ...
- Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- 使用Docker Compose部署基于Sentinel的高可用Redis集群
使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker C ...
- Docker Compose 部署前后端分离应用
部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...
- Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- 在Windows Server 2019通过Docker Compose部署Asp.Net Core
一.安装Docker Enterprise 安装文档是: https://docs.docker.com/install/windows/docker-ee/ 安装完成后,如下图 二.首先,拉取一个W ...
- 使用Docker Compose 部署Nexus后初次登录账号密码不正确,并且在nexus-data下没有admin,password
场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...
- Docker Compose部署Nexus3时的docker-compose,yml代码
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
随机推荐
- Maven项目pom文件的节点释意
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- pytorch --- word2vec 实现 --《Efficient Estimation of Word Representations in Vector Space》
论文来自Mikolov等人的<Efficient Estimation of Word Representations in Vector Space> 论文地址: 66666 论文介绍了 ...
- 你应该了解的 Java SPI 机制
前言 不知大家现在有没有去公司复工,我已经在家办公将近 3 周了,同时也在家呆了一个多月:还好工作并没有受到任何影响,我个人一直觉得远程工作和 IT 行业是非常契合的,这段时间的工作效率甚至比在办公室 ...
- Axer-使用Msfvenom自动创建有效负载的工具
Axer-使用Msfvenom自动创建有效负载的工具 该axer将替换为有效的手动操作msfvenom,设置更容易和快了很多. AXER可以让您选择平台,格式,编码器,与另一个文件绑定以及许多其他功能 ...
- 【HDU - 1069】 Monkey and Banana (基础dp)
Monkey and Banana 直接写中文了 Problem Statement 一组研究人员正在设计一项实验,以测试猴子的智商.他们将挂香蕉在建筑物的屋顶,同时,提供一些砖块给这些猴子.如果猴子 ...
- for遍历用例数据时,报错:TypeError: list indices must be integers, not dict,'int' object is not iterable解决方法
一:报错:TypeError: list indices must be integers, not dict for i in range(0,len(test_data)): suite.addT ...
- C#设计模式学习笔记:(19)策略模式
本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/8057654.html,记录一下学习过程以备后续查用. 一.引言 今天我们要讲行为型设计模式的第七个模式--策 ...
- Python—TCP的黏包问题以及UDP的分片问题
TCP协议与UDP协议 TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可靠性服务.收发两端(客户端和服务器端)都要有一一成对的socket, ...
- cesium结合geoserver利用WFS服务实现图层新增(附源码下载)
前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...
- MySql概述及入门(五)
MySql概述及入门(五) MySQL集群搭建之读写分离 读写分离的理解 为解决单数据库节点在高并发.高压力情况下出现的性能瓶颈问题,读写分离的特性包括会话不开启事务,读语句直接发送到 salve 执 ...