Bee AntWongjorie's Blog

FE前端

BE后端

DB数据库

OPS运维

Snippet代码片段

Note笔记

I'm also on

GithubIf you code

MailIf you talk

RSSIf you subscribe

My GitLab


Omnibus包安装

安装并配置必要的依赖关系

如果你想使用 Postfix 发送邮件,请在安装过程中根据提示选择 ‘Internet Site’。(实际安装并未提示)

在 CentOS 系统上,下面的命令将会打开系统防火墙 HTTP 和 SSH 的访问。

sudo yum install curl openssh-server openssh-clients postfix cronie

sudo service postfix start
sudo chkconfig postfix on

sudo lokkit -s http -s ssh

下载GitLab镜像源并安装

选择系统对应的Omnibus安装包,手动安装。(ce为社区版,ee为企业版)

curl -LO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-10.5.2-ce.0.el6.x86_64.rpm
rpm -i gitlab-ce-XXX.rpm

建议使用

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlab-ce

配置并启动

vim /etc/gitlab/gitlab.rb

配置external_url ‘http://ip’

sudo gitlab-ctl reconfigure

Q:GLIBC缺失

/opt/gitlab/embedded/bin/ruby: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/gitlab/embedded/lib/libruby.so.2.1)
/opt/gitlab/embedded/bin/ruby: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by /opt/gitlab/embedded/lib/libruby.so.2.1)

A:

This can happen if the omnibus package you installed was built for a different OS release than the one on your server. Double-check that you downloaded and installed the correct omnibus-gitlab package for your operating system.

通过浏览器访问上一步配置的域名

通过external_url配置的ip访问 GitLab,系统会重定向 url 到重置密码的页面,你需要输入初始化管理员账号的密码。 设置完成后,系统会重定向到登录界面,你就可以使用刚才输入的密码登录系统了。

image_1c1s6pof43b1nv57421pht1qjq9.png-46.5kB

New project

群组权限

  • Guest
  • Reporter
  • Developer
  • Master
  • Owner

创建一个空项目

项目权限

  • 私有:项目访问权限必须明确授权给每个用户。
  • 内部:该项目允许已登录的用户访问。
  • 公开:该项目允许任何人访问。

项目权限为私有,仅允许项目成员查看。

image_1c289649v1jhu2fb116boeksl9.png-66.2kB

空项目创建完成

image_1c289f78ce741ogmvs8el31povm.png-79.3kB

创建群组

群组权限

  • Guest/Reporter
  • Developer
  • Master
  • Owner

群组权限为私有,仅允许群组成员查看。

image_1c289me451o1c1kin1brr129610kr13.png-60.4kB

设置项目成员

项目分享至刚刚创建的群组,并设置最高权限等级为开发。

image_1c289qgisir312bn1buu1cd35jc1g.png-81.8kB

添加群组成员

开发者注册以后,可将其添加至群组,分配开发者权限。

image_1c28a4g3f1kjq1lhv10no15vf1hlp1t.png-63.1kB

群组成员拉取或推送代码

fork项目

image_1c28ec1ejpqi24b1ih7128r10pn16.png-101.7kB

克隆至本地仓库

两种方式任选其一克隆到本地仓库进行开发。

HTTP

$ git clone http://localhost/wongjorie/dva-user.git

输入用户名、密码后完成克隆。

SSH(暂时有问题)

  • 新建SSH公钥

开发者在本地的Git Bash中,运行命令

$ ssh-keygen -t rsa -C "your email"

email为Gitlab账号注册时填写的电子邮件,运行后生成id_rsaid_rsa.pub文件,默认后保存在/.ssh/路径。

注意:如果id_rsa文件已存在,在save key的时候修改公钥名,推荐格式/.ssh/id_rsa_gitlab_your name。这时候,新增配置文件config可以方便管理多个公钥。

#  github 配置
Host github
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa

# gitlab配置
Host gitlab
    HostName 10.66.3.31
    User git
    IdentityFile ~/.ssh/id_rsa_gitlab_wongjorie

在User Settings中新增SSH key,复制刚刚生成的id_rsa.pub中的字符串即可。

image_1c28dactskvraosh92kn615eop.png-95.8kB

同时在Git服务器端vim /ect/ssh/sshd_config加入AllowUsers git后,测试ssh连接

$ ssh -T git@gitlab
Welcome to GitLab, joriewong!
  • 克隆
$ git clone git@gitlab:root/dva-user.git