GIT系列(一)——git与gitlab安装与配置

目录

一、git介绍

二、GIT安装

1、方式一:yum 

2、方式二:源码编译(主要看这里)

三、gitlab安装

1、下载依赖包

2、方式一

3、方式二

4、配置gitlab

5、让配置起效

6、常用命令

7、用户密码

8、安装中出现的问题

9、可选依赖安装

10、gitlab配置思路


 


一、git介绍

  使用Coding管理项目,上面要求使用的git版本为1.8.0以上,而很多yum源上自动安装的git版本为1.7,所以需要掌握手动编译安装git方法。

二、GIT安装

用git --version命令检查是否已经安装

1、方式一:yum 

   yum -y install git
     但是yum源中安装的git版本是1.7.1,而是下载git源码编译安装。

2、方式二:源码编译(主要看这里)

(1). 安装依赖的包
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
我的环境,只需要perl-ExtUtils-MakeMaker ,其他都装了。可以根据报错信息装对应的就可以
(2). 下载git源码并切换到你的包文件存放目录下解压
https://www.kernel.org/pub/software/scm/git/

 切换到你的包文件存放目录下

    cd /usr/src

  下载git安装包

    wget https://www.kernel.org/pub/software/scm/git/git-2.8.3.tar.gz

  解压git安装包

    tar -zxvf git-2.8.3.tar.gz

    cd git-2.8.3

  配置git安装路径

    ./configure prefix=/usr/local/git/

  编译并且安装

    make && make install

 (3)、查看git版本号

  git --version

  git已经安装完毕

    (4)、将git指令添加到bash中

  vi /etc/profile

  在最后一行加入

  export PATH=$PATH:/usr/local/git/bin

 (5)、让该配置文件立即生效

  source /etc/profile

参考:https://www.cnblogs.com/lhbryant/p/6928894.html

https://blog.csdn.net/zhuchunyan_aijia/article/details/79153775

https://www.cnblogs.com/jason-dong/p/8848536.html

三、gitlab安装

1、下载依赖包

//配置系统防火墙,把HTTP和SSH端口开放.
sudo yum install curl openssh-server postfix cronie
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh

2、方式一

gitlab官网下载rmp文件包 https://packages.gitlab.com/gitlab/gitlab-ce

我这里以下载8.9和9.0版本的稳定版,大家可以直接使用

链接:https://pan.baidu.com/s/1Fsq4UKGfxtihzI9rfhT_RQ 密码:v2i4

然后放在上传到linux的root文件下

执行rmp文件包

sudo rpm -ivh gitlab-ce-7.10.0~omnibus.2-1.x86_64.rpm 

3、方式二

直接在网上下载rmp到linux中


//下载rpm安装包
sudo curl -O https://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-ce-7.10.0~omnibus.2-1.x86_64.rpm
sudo rpm -ivh gitlab-ce-7.10.0~omnibus.2-1.x86_64.rpm 

//这一步也可以用管道的方式安装:
//sudo curl http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash
//sudo yum install gitlab-ce

sudo rpm -ivh gitlab-ce-7.10.0~omnibus.2-1.x86_64.rpm 

大家在官网自行选择版本,把上面命令中http路径换掉即可。

如图:

选一个进入:

如图,下载方式也有yum和wegt两种方式,大家自行选择。

4、配置gitlab

vim /etc/gitlab/gitlab.rb进入配置文件

external_url 对外显示的URL

5、让配置起效

sudo gitlab-ctl reconfigure

6、常用命令

//启动
sudo gitlab-ctl start
//查看运行状态
sudo gitlab-ctl status
//停止
sudo gitlab-ctl stop
//查看错误信息
sudo gitlab-ctl tail
//保存配置
sudo gitlab-ctl reconfigure

7、用户密码

如果是编译安装的默认管理员账号密码是:[email protected]|5iveL!fe

如果是 rpm包安装则管理员账号密码是root|5iveL!fe 登录后会提醒你重设密码。

8、安装中出现的问题

(1)、在浏览器中访问GitLab出现502错误

原因:内存不足。

解决办法:检查系统的虚拟内存是否随机启动了,如果系统无虚拟内存,则增加虚拟内存,再重新启动系统。

(2)、80端口冲突

原因:Nginx默认使用了80端口。

解决办法:为了使Nginx与Apache能够共存,并且为了简化GitLab的URL地址,Nginx端口保持不变,修改Apache的端口为4040。这样就可以直接用使用ip访问Gitlab。而禅道则可以使用4040端口进行访问,像这样:xxx.xx.xxx.xx:4040/zentao。具体修改的地方在/etc/httpd/conf/httpd.conf这个文件中,找到Listen 80这一句并将之注释掉,在底下添加一句Listen 4040,保存后执行service httpd restart重启apache服务即可。

#Listen 80 
Listen 4040 

(3)、8080端口冲突

原因:由于unicorn默认使用的是8080端口。

解决办法:打开/etc/gitlab/gitlab.rb,打开# unicorn['port'] = 8080 的注释,将8080修改为9090,保存后运行sudo gitlab-ctl reconfigure即可。

(4)、STMP设置

配置无效,暂时不知道原因。

(5)、GitLab头像无法正常显示
原因:gravatar被墙
解决办法:
编辑 /etc/gitlab/gitlab.rb,将

#gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'

修改为:

gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'

然后在命令行执行:

sudo gitlab-ctl reconfigure 
sudo gitlab-rake cache:clear RAILS_ENV=production

9、可选依赖安装

安装依赖
centos6
sudo yum install curl openssh-server openssh-clients postfix cronie
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh

centos7
sudo yum install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

10、gitlab配置思路

1、第一步创建组。意思是每个开发团队一个组
组也有三个级别
Private  只有授权的人才能访问项目
Internal  所有能登录gitlab人可以访问
Public   所有 能打开给gitlab网站的就可以访问

(1)创建好组后,需要授权,给这个组授权,组与项目关系》一个组可以有多个库(项目),授权是给某一个用户指定一个角色
(2)创建用户Projects limit指定私人库,能创建几个项目
(3)创建项目,指定组            创建的项目也可以直接分配给那个用户

(4)SSH Keys  配置这个后,你开发者下面所有属于你的项目都可以操作    http方式不需要配置秘钥

在组添加用户角色,在把给用户分配项目,就给组里所有人都可以访问,存在继承关系,如果只在项目中分配用户角色,只有该添加的用户有权限

新创建的用户,要在超管里初始化密码


还有个deploy keys是只能下载代码,不能上传代码,那是给jenkins用的。

milestone里程碑,用于创建开发计划,把任务输进去(比如领导创建任务),开发用户可以在todos中看到任务

其他跟github差不多,项目操作哦。

参考:https://www.cnblogs.com/highsea90/p/5191340.html

https://segmentfault.com/a/1190000002722631

https://blog.csdn.net/jklfjsdj79hiofo/article/details/70232251

猜你喜欢

转载自blog.csdn.net/gududedabai/article/details/81145216