什么是 GitLab
GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
部署 GitLab
我们使用Docker来安装和运行GitLab中文版,docker-compose.yml配置如下;
docker仓库地址:https://registry.hub.docker.com/r/twang2218/gitlab-ce-zh
version: '3'services:web:image: 'twang2218/gitlab-ce-zh'container_name: gitlabrestart: alwayshostname: '192.168.141.200'environment:TZ: 'Asia/Shanghai'GITLAB_OMNIBUS_CONFIG: |external_url 'http://192.168.141.200'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
登录测试
访问并设置 root (超级管理员)密码:
我设置的 root 密码是:12345678
密码需要至少八位
BrettWu账号密码是:1q2w3e4r
登录后再设置其他账号
在设置中将 Gravatar enabled 复选框不勾上,因为勾上gitlab会上外网的一个全球公认头像网站(cn.gravaotar.cm)找头像,可能会导致卡顿情况。
账号管理
使用时请不要直接通过root用户操作,需要先创建用户,然后通过创建的用户操作,如果你是管理员还需要为其他开发人员分配账户
- 创建账户,点击管理区域->新建用户

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


然后就可以对项目进行拉去和提交了
使用 SSH 方式拉取和推送
主要用于免密提交和拉取,这样比使用账号和密码要安全些,也用于持续交付功能
生成 SSH KEY
- 使用 ssh-keygen 工具生成,位置在 Git 安装目录下,我的是 C:\Program Files\Git\usr\bin
输入命令:ssh-keygen -t rsa -C "your_email@example.com"
- 执行成功后的效果: ```bash 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.com The key’s randomart image is: +—-[RSA 2048]——+ | + ..=o=. .+. | | o o + B .+.o.o | |o . + +=o+.. | |.= . oo… | |= o So | |oE . o | | .. .. . | | oo+ | | B*oo | +——[SHA256]——-+
C:\Program Files\Git\usr\bin>
<a name="eamaD"></a>### 复制 SSH-KEY 信息到 GitLab- 密钥位置在:C:\Users\你的用户名\.ssh 目录下,找到 id_rsa.pub 并使用编辑器打开,如:- 登录 GitLab,点击“用户头像”-->“设置”-->“SSH 密钥”- 成功增加密钥后的效果<a name="JWEKm"></a>### 使用 TortoiseGit<a name="R3rdD"></a>#### 克隆项目- 新建一个存放代码仓库的本地文件夹- 在文件夹空白处按右键- 选择 **Git 克隆...**- 复制项目地址到 URL- 拉取时报错No supported authentication methods available (server sent: publickey)<br /><br />这是用tortoise git检出项目时报的错,解决方案:<br />tortoise git设置—network—ssh<br />默认为 C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe<br />修改为git中的 C:\Program Files\Git\usr\bin\ssh.exe<br />- 如果弹出连接信息请选择是- 成功克隆项目到本地<a name="q4yU5"></a>### 推送项目- 创建或修改文件(这里的文件为所有文件,包括:代码、图片等)- 我们以创建 .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 确认提交成功
其他gitlab安装
本文只讲述如何使用docker安装gitlab,包括中文和英文两种版本,大家自行进行选择进行安装。
安装环境:
1、有docker的centos7
2、gitlab所需官方最低配置:2核,4G
3、虚拟机IP:10.19.210.249
安装遇到的问题:
1、由于第一安装时,配置不足,导致安装完后无法运行的情况,页面访问出现502等异常。
正式安装(英文版):
1、拉取镜像
docker pull gitlab/gitlab-ce
2、配置挂载到外部的文件夹,共三个:配置文件 config、日志文件 logs、数据文件 data
mkdir /docker/gitlab/config mkdir /docker/gitlab/logs mkdir /docker/gitlab/data
3、创建容器
docker run —detach —publish 443:443—publish 80:80—publish 22:22—name gitlab —restart always —volume /docker/gitlab/config:/etc/gitlab —volume /docker/gitlab/logs:/var/log/gitlab —volume /docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
4、生成容器后访问
10.19.210.249:80 即可访问gitlab,访问成功后,会让你输入一个8位的密码,用户名默认:root,这个账户是管理员账户。
到此,用户就可以正常使用了。
中文版安装:
1、拉取中文镜像
docker pull twang2218/gitlab-ce-zh:latest
注意:
修改了cloneIP后需要删除镜像,重新运行
