目录
一、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、用户密码
如果是编译安装的默认管理员账号密码是:admin@local.host|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