Bee AntWongjorie's Blog

FE前端

BE后端

DB数据库

OPS运维

Snippet代码片段

Note笔记

I'm also on

GitHubIf you code

MailIf you talk

RSSIf you subscribe

About.meIf you recommend

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