1、下载rpm安装包
下载地址(清华镜像):
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
复制代码
在自己的文件下下载rpm包,我选择的是最新版:
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.6.10-ce.0.el7.x86_64.rpm
复制代码
2、文件授权,授予执行权限就行,这里直接给 777 了
chmod 777 gitlab-ce-11.6.10-ce.0.el7.x86_64.rpm
复制代码
3、安装
rpm -ivh gitlab-ce-11.6.10-ce.0.el7.x86_64.rpm
复制代码
如果发现提示缺少“policycoreutils-python”依赖:
继续安装:
yum -y install policycoreutils-python
复制代码
安装完成
4、配置
编辑配置文件
vim /etc/gitlab/gitlab.rb
复制代码
gitllab内部包含的模块会占用80(nginx)、8082(sidekiq)以及9090(prometheus)端口,可能会系统默认的端口产生冲突,因此建议修改默认端口配置
external_url 'http://192.168.31.32:8083/gitlab'
unicorn['port'] = 8081
复制代码
重启服务
#(每次修改完gitlab.rb文件需要执行该操作)
gitlab-ctl reconfigure
gitlab-ctl restart
gitlab-ctl status
复制代码
5、注意,如果防火墙没有关闭,先关闭防火墙,不让会访问失败
查看防火墙状态
firewall-cmd --state
复制代码
停止firewall
systemctl stop firewalld.service
复制代码
禁止firewall开机启动
systemctl disable firewalld.service
复制代码
接下来可以直接访问了,我的地址是: http://192.0.0.179:8083/gitlab
6、开始使用
第一次使用会让你先注册账户,根据自己的信息注册即可,注册完毕登录进入主页
在新建项目的时候发现,git会给我们分配一个默认的ip地址,这个ip具体是根据什么来的就不知道了,反正不是主机的ip地址,也ping不通,所以先将host改为我们主机的实际ip。
编辑gitlab配置文件 gitlab.yml
vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
复制代码
保存退出,重启gitlab
gitlab-ctl restart
复制代码
重启需要等一等,然后再次访问即可,这样在新建项目的时候clone地址就是我们的主机ip了。
7、新建项目
按要求填写项目名称,点击创建即可。
8、生成密钥对,并上传公钥
检查是否生成过ssh 密钥,SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。进去看看:
看一下有没有id_rsa和id_rsa.pub(或者是id_dsa和id_dsa.pub之类成对的文件),有 .pub 后缀的文件就是公钥,另一个文件则是密钥。
如果没有,可以用 ssh-keygen 来创建
#这里注意‘C’ 是大写的
ssh-keygen -t rsa -C "[email protected]"
复制代码
直接按Enter就行。然后,会提示你输入密码,到此为止,你本地的密钥对就生成了。
可以在文件夹中找到公钥id_rsa.pub,也可以使用git bash直接查看里面的内容,复制里面的内容
cat ~/.ssh/id_rsa.pub
复制代码
打开你的gitlab,点击你的头像,然后 Settings -> 左栏点击 SSH keys
在里面粘贴你的公钥,点击Add key ,添加完成
9、提交本地项目到gitlab
这个时候在gitlab打开刚才新建的项目往下滑就能看到,我们需要的命令
在本地项目目录下,鼠标右键打开git bash.
指定账户,邮箱
git config --global user.name "root"
git config --global user.email "youremail.com"
复制代码
把目录变成git可以管理的仓库
git init
复制代码
关联到远程库
git remote add origin xxx.git //你的git项目地址
复制代码
文件添加到版本库
git add .
复制代码
提交到本地仓库
git commit -m "Initial commit"
复制代码
推送到远程仓库
git push -u origin master
复制代码
提交完毕