简介
GitLab
是利用 Ruby on Rails
一个开源的版本管理系统,实现一个自托管的 Git
项目仓库,可通过 Web
界面进行访问公开的或者私人项目。它拥有与 Github
类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序 (Wall)
进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
开源的第三方代码托管平台只有GitLab
,且支持自动化运维。
安装运行
GitLab
需要一定的电脑配置,至少要2G内存,因为我们已经会了Docker
,所以我们用 DockerCompose
来安装GitLab
我们下载的是中文版的GitLab
,更多的可以上Docker
仓库上查找。Docker Hub
version: '3'
services:
web:
image: 'twang2218/gitlab-ce-zh' ## 镜像
restart: always ## 是否重启
hostname: '192.168.0.108' ## 主机IP
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.0.108'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
unicorn['port'] = 8888
nginx['listen_port'] = 80
ports:
- '80:80'
- '8443:443'
- '2222:22'
volumes:
- /usr/local/docker/gitlab/config:/etc/gitlab
- /usr/local/docker/gitlab/data:/var/opt/gitlab
- /usr/local/docker/gitlab/logs:/var/log/gitlab
external_url
外部访问地址
gitlab_rails['gitlab_shell_ssh_port']
ssh
端口
nginx['listen_port']
nginx
端口
GitLab 基本设置
账户限制 最好不要启用Gravatar
除去 root
用户,创建一个自己的用户,赋予管理员权限
第一个托管项目
在GitLab
新建一个托管项目
添加README.md
在终端输入
git clone http://192.168.0.108:8080/laoshiren/hello-gitlab.git
输入账号 密码
修改 README
vi README.md
git add .
git commit -m "消息"
git push
GitLab 免密登录
为今后的持续集成做准备
ssh-keygen -t rsa -C "your account"
保存key
ssh-keygen -t rsa -C "15207034473@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/laoshiren/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/laoshiren/.ssh/id_rsa.
Your public key has been saved in /Users/laoshiren/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:capxzscLyVM5mb5wG9SAxqOLg5A2IVETLsoVfXzvgzA 15207034473@163.com
The key's randomart image is:
+---[RSA 2048]----+
|..+o. . |
| o ... + o |
|o... . B + |
|+oo E = B |
|++ o S X . |
|.... . O B + |
| . o o O * . |
| . * = |
| + |
+----[SHA256]-----+
复制 id_rsa.pub
添加到GitLab
--> 用户头像 -->设置 --> SSH密钥
--> 添加
总结
GitLab
使我们的第一个代码托管平台,我们以后的工程都要在这里创建。为了以后支持持续集成,我们还需要将GitLab-Runner
添加进来。总之让我们的代码不仅自己能读取也让公司里的员工也能读取。