美文网首页
CentOS6.7下GitLab的最简单安装方法以及Eclips

CentOS6.7下GitLab的最简单安装方法以及Eclips

作者: 耗子在简书 | 来源:发表于2018-01-11 21:00 被阅读0次

    一篇文,学会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进行项目管理的一些原则和技巧

    相关文章

      网友评论

          本文标题:CentOS6.7下GitLab的最简单安装方法以及Eclips

          本文链接:https://www.haomeiwen.com/subject/ynvtoxtx.html