CentOS6.7下GitLab的最简单安装方法以及Eclipse配置使用Git

一篇文,学会GitLab搭建和配置使用Eclipse的Git插件

操作系统:CentOS6.7
GotLab版本:10.3.2-CE
(所有服务器上的配置均在root权限下操作)

一、基础环境搭建


1.安装软件依赖

yum install -y curl policycoreutils-python openssh-server cronie

2.配置主机名

cat << EOF > /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=gitlab.example.com
EOF

3.添加防火墙规则放行ssh和http服务用到的端口

lokkit -s http -s ssh

二、安装邮件服务器Postfix(可选)


yum install postfix
service postfix start
chkconfig postfix on

注:安装过程中在配置界面选择Internet Site,使用服务器的域名来配置mail name

如不想启用项目管理的邮件功能,可以跳过此步。

三、安装GitLab


1.离线安装GitLab

安装GitLab有很多办法,有直接安装的,有通过添加源在线安装的,有Docker、有VM镜像。。。

  • 如果是为了研究学习,Docker和VM镜像是最好的选择
  • 如果是生产环境部署,建议使用安装包部署在物理服务器上

本文以生产环境部署为背景,部署在物理服务器上。这里不建议使用官方Installation页面Recommended的安装方式,因为官方脚本里提供的源对国内来说速度很不友好,安装过程很痛苦,这里采用离线安装的方式。

首先在镜像站下载GitLab的安装包:

  • gitlab-ce-10.3.2-ce.0.el6.x86_64.rpm
    版本号因选择而异

清华镜像站(推荐):
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/
官方镜像站:
https://packages.gitlab.com/gitlab/gitlab-ce

假设服务器的主机名/域名是gitlab.example.com,安装命令为:

EXTERNAL_URL="http://gitlab.example.com" rpm -i gitlab-ce-10.3.2-ce.0.el6.x86_64.rpm

正确安装后应有下列输出:

It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

2.启动GitLab

正常情况下启动GitLab的命令为:

gitlab-ctl start

但因为是安装后第一次启动,配置文件需要初始化,第一次启动要执行:

gitlab-ctl reconfigure

稍候片刻就执行完成了。
此时可以通过

netstat -lntp

查看进程占用端口情况,如果是按照上面的步骤全新安装,输出应类似如下:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address    Foreign Address  State       PID/Program name   
tcp        0      0 127.0.0.1:9121   0.0.0.0:*        LISTEN      46072/redis_exporte 
tcp        0      0 127.0.0.1:9090   0.0.0.0:*        LISTEN      46354/prometheus    
tcp        0      0 127.0.0.1:9187   0.0.0.0:*        LISTEN      46388/postgres_expo 
tcp        0      0 127.0.0.1:9100   0.0.0.0:*        LISTEN      45935/node_exporter 
tcp        0      0 127.0.0.1:9229   0.0.0.0:*        LISTEN      46310/gitlab-workho 
tcp        0      0 127.0.0.1:9168   0.0.0.0:*        LISTEN      46342/ruby          
tcp        0      0 127.0.0.1:8080   0.0.0.0:*        LISTEN      45473/unicorn maste 
tcp        0      0 0.0.0.0:80       0.0.0.0:*        LISTEN      45632/nginx         
tcp        0      0 0.0.0.0:22       0.0.0.0:*        LISTEN      43821/sshd          
tcp        0      0 127.0.0.1:631    0.0.0.0:*        LISTEN      2064/cupsd          
tcp        0      0 127.0.0.1:25     0.0.0.0:*        LISTEN      8741/master         
tcp        0      0 0.0.0.0:8060     0.0.0.0:*        LISTEN      45632/nginx         
tcp        0      0 ::1:9168         :::*             LISTEN      46342/ruby          
tcp        0      0 :::22            :::*             LISTEN      43821/sshd          
tcp        0      0 ::1:631          :::*             LISTEN      2064/cupsd          
tcp        0      0 ::1:25           :::*             LISTEN      8741/master         

3.访问GitLab的WEB界面

如果服务器配置了域名,择可以直接访问域名;
如果服务器是在局域网内搭建,在客户端的主机上要配置服务器到主机名的映射:

服务器ip     服务器主机名

windows 10:
a.右键单击左下角窗口按钮,弹出菜单中选择“命令提示符(管理员)”
b.在命令行提示符键入:notepad drivers\etc\hosts
c.在打开的hosts文件中添加一行:(假设服务器的ip为192.168.10.168,主机名为 gitlab.example.com)

192.168.10.168   gitlab.example.com

保存并关闭

Most Linux OS:
执行:

cat << EOF >> /etc/hosts
192.168.10.168   gitlab.example.com
EOF

打开浏览器,输入域名/ip,应能看到如下界面:
首次安装需要设置root密码。


用户名为root
密码就是刚才设置的密码。



详细的使用在下一章结合Eclipse讲解。

四、Eclipse配置使用Git


1.在GitLab上新建一个Project(项目)

这里可以看到有三个选项卡,分别是空项目、从模板新建和导入项目。
看图含义很好理解,就不多赘述了。这里选择空项目。

新建一个名为“GitTest”的项目,属性设置为“Internal”防止未登录用户获得项目的数据。项目描述随便写一些东西。然后点击创建。


2.导入SSH Key

成功创建项目后,页面顶部会提示要导入SSH Key,以使用SSH来push代码。


(以ubuntu Linux为例,windows环境请自行查阅资料)
打开终端,输入:

cat .ssh/id_rsa.pub

会得到类似下面这样一串以ssh-rsa开头,以user@hostname结尾的Key:

如果执行cat命令之后没有输出,则需要生成ssh key:

ssh-keygen

一路回车使用默认值即可,然后再执行上面的命令得到生成的key。

点击 “add an SSH key”

把刚才生成的key粘贴到文本框里,然后点击 “Add key”

这样就可以在自己的电脑上使用Git客户端来管理GitLab上的项目了。
关于Git客户端的操作,请参照其他资料,这里先不做讲解。

3.在Eclipse中使用Git

a.向项目中添加一个README

我们先往项目里加点东西,点击页首的 [Projects]->[Your Projects]->[Administrator GitTest] 回到创建的项目。新建一个 README.md
GitLab的文档建议使用Markdown语法,想要熟练编写漂亮的文档,还要掌握Markdown语法。

先随便写了一点东西,关于文档的规范,后续还要专门讲,这里就不在意这些细节了。
写完之后提交,看看效果:


这样我们的项目下就有东西了。

b.配置Eclipse的Git插件

一般现在常用的版本都已经预装好了Git插件
我们首先给Eclipse添加用户信息、SSH key
选择 [Window]->[Preference] 打开属性对话框,在filter里键入git:

在左侧选择Configuration,点击右侧的Add Entry,Key项添加uer.email,Value添加邮箱地址,这里随便写了一个:



点击OK提交之后,再次点击Add Entry,添加:


c.配置Eclipse的SSH key

还是在preference对话框,左侧filter输入ssh,选择SSH2,右侧的选项卡选择 [Key Management](我的这个Eclipse主题有Bug,看不清选项卡的字):

然后点击 [Generate RSA Key...] 生成一个key:

复制这个Key,点击右下角的 [Apply and Close] 关闭对话框。
在GitLab里点击右上角的头像,选择 [Settings] 进入个人设置页,在页面左侧选择SSH Keys:

把刚才复制的Key添加进来。


点击Add key提交。

d.使用Eclipse的Git插件clone GitLab上的项目

现在完成了基本的配置,回到Eclipse,点击右上角的 [Open Perspective]


在弹出的对话框选择Git并Open(我的已经选择好了所以上图能看见):

然后Eclipse就进入到了Git视图:



在左侧项目窗口内选择第三个图标,“Clone a Git Repository and add the clone to this view”:


打开GitLab的项目视图,把刚才建立的项目ssh链接复制出来:

粘贴到Eclipse里:


点击下一步,就可以得到GitTest的分支信息:


再点击下一步,我们可以在①处指定本地repo存放的目录,在②处可以新建或者选择工作集:



点击完成,导入项目。



在左面的repo视图中可以看到README.md文件了。双击打开,可以看到文件内容。
e.使用Eclipse的Git插件的commit、push和fetch

在Eclipse中修改项目文件的内容之后,需要先commit到本地repo,右键GitTest项目名称:


选择 [Commit...] 填写好相关的说明。

双击修改的文件可以查看修改的内容:

点击Commit提交修改。这时我们打开GitLab可以看到修改的内容并没有同步上来,这是因为刚才commit的修改是提交到了本地的repo,如果要提交到GitLab,还需要push一下。

右键Local目录下的master分支,选择Push Branch...

前面clone的时候已经配置好了项目的信息,这里就使用默认配置就可以了,点击Next。



点击Finish确认Push动作。



Push完成:

打开GitLab的项目页,此时可以看到README.md的内容已经更新了。


下面在GitLab上修改一下README:


切换到Eclipse,在左侧项目窗口右键GitTest项目,点击Pull

这样就把最新的内容从GitLab上同步下来了,打开WorkingTree下的README看看:

已经变成GitLab上最新的内容了。

下一篇文章主要讲使用Git进行项目管理的一些原则和技巧

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349