目录:
1.3、修改gitlab配置文借鉴指定服务器的ip和自定义端口
1.4、对GitLab进行重配置(这一步也是启动GitLab)
6.2、注册时,注册邮箱收不到gitlab发送的确认邮件,导致无法登陆问题
1、Centos7安装部署gitlab服务器
1.1、安装和配置必须的依赖
sudo yum install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
1.2、添加gitlab安装包,并安装到服务器上
curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
管道命令的添加方式下载速度慢,建议在外部下载,导入系统中安装,下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
安装下载好的安装包:rpm -i gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
1.3、修改gitlab配置文借鉴指定服务器的ip和自定义端口
vim /etc/gitlab/gitlab.rb
退出并保存
ps:注意这里设置的端口不能被占用,默认是8080端口,如果8080端口已经使用,请自定义其它端口,并在防火墙设置开放对应的端口。
1.4、对GitLab进行重配置(这一步也是启动GitLab)
gitlab -ctl reconfigure
gitlab -ctl restart(重启命令)
1.5、查看启动状态
Sudo gitlab-ctl status
2、GitLab使用
2.1、访问GitLab界面
如果没有域名,直接输入服务器ip和指定端口进行访问
初始账户:root
密码:5iveL!fe、
第一次登录修改密码
2.2、创建新的工程
PS:
NameSpace:
这个选择用来决定这个工程所属,可以选择Users,或者Groups,这个会影响到后边工程的Url.例如我选择了组first创建工程test、那么这个工程就会在这个组内可见,那么访问路径是https://domain.com/first/test
权限等级分为三种:
- Private:私有的,只有你自己或者组内的成员能够访问
- Internal:所有登录的用户
- Public:公开的,所有人都可以访问
创建成功后选择自己的仓库,可以看到自己的仓库地址,远程仓库创建完成。
2.3、gitlab仓库的webhooks设置
在仓库目录下选择Settings→Web Hooks
当指定事件发生时,Web Hooks会自动向你指定的url发送post请求
3、安装git客户端
3.1、下载
官方下载地址:http://git-scm.com/download/根据系统下载对应的版本
3.2、安装客户端
选择安装路径
选择安装组件,按默认的来
- 1)图标组件(Addition icons) : 选择是否创建快速启动栏图标 或者 是否创建桌面快捷方式;
- 2)桌面浏览(Windows Explorer integration) : 浏览源码的方法, 单独的上下文浏览 只使用bash 或者 只用Git GUI工具; 高级的上下文浏览方法 使用git-cheetah plugin插件;
- 3)关联配置文件(Associate .git*) : 是否关联git配置文件, 该配置文件主要显示文本编辑器的样式;
- 4)关联shell脚本文件(Associate .sh) : 是否关联Bash命令行执行的脚本文件;
- 5)使用TrueType编码 : 在命令行中是否使用TruthType编码, 该编码是微软和苹果公司制定的通用编码;
设置开始菜单中快捷方式的目录名称,默认就好,下一步
设置环境变量 : 选择使用什么样的命令行工具, 一般情况下我们默认使用Git Bash即可, 默认选择;
- 1)Git自带 : 使用Git自带的Git Bash命令行工具;
- 2)系统自带CMD : 使用Windows系统的命令行工具;
- 3) 二者都有 : 上面二者同时配置, 但是注意, 这样会将windows中的find.exe 和 sort.exe工具覆盖, 如果不懂这些尽量不要选择;
选择换行格式 ,依然是默认就好
- 1)检查出windows格式转换为unix格式 : 将windows格式的换行转为unix格式的换行在进行提交;
- 2)检查出原来格式转为unix格式 : 不管什么格式的, 一律转为unix格式的换行在进行提交;
- 3)不进行格式转换 : 不进行转换, 检查出什么, 就提交什么;
选择终端模拟器,依然默认就好
- 1)使用MinTTY,就是在Windows开了一个简单模拟Linux命令环境的窗口Git Bash
- 2)使用windows的系统的命令行程序cmd.exe
选择默认就好,不用文件系统缓存
点击安装
3.3、绑定用户
打开git-bash.exe,在桌面快捷方式/开始菜单/安装目录中
因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识,用户和邮箱为你gitlab注册的账号和邮箱
PS:
git config –global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。
4、为GitLab账户设置SSH key
4.1、生成SSH key
首先检查是否已生成密钥 cd ~/.ssh,ls如果有3个文件,则密钥已经生成,id_rsa.pub就是公钥
如果没有生成,那么通过$ ssh-keygen -t rsa -C “6215048wjl@163.com”来生成
- 1)是路径确认,直接按回车存默认路径即可
- 2)直接回车键,这里我们不使用密码进行登录, 用密码太麻烦;
- 3)直接回车键
生成成功后,去对应目录用记事本打开id_rsa.pub,得到ssh key公钥
4.2、为gitlab账号设置ssh key
在用户下Profile Setting→SSHKeys→add SSH keys
如此,gitlab账号的SSH Keys配置完成
5、上传本地文件到gitlab
5.1、创建本地仓库
选择需要上传的项目或者文件 右键选择Git Bash Here 然后执行命令:git init
初始化成功后你会发现项目里多了一个隐藏文件夹.git
然后执行指令:git add . //当前目录下的文件添加到暂存区
然后,把文件提交到仓库,双引号内是提交描述
执行指令: git commit -m "test" // 提交并添加日志
- // -m 提交日志,一定要写日志,不然会报错
- // commit无需执行提交哪个文件,因为commit提交的是整个暂存区
如此本地仓库建立好了。
5.2、关联gitlab仓库
到gitlab复制创建的仓库地址
然后执行指令: git remote add origin git@192.168.78.130:root/test.git
5.3、上传本地代码
执行指令:git push -u origin master
敲一个:yes, 然后回车
到此本地文件或项目已经推送到了gitlab仓库了
注意:强制push:$ git push -f origin master
5.4、git客户端常用命令
- git init :把这个目录变成git可以管理的仓库
- git add :将文件添加到仓库
- git add . :把当前目录下所有未追踪的文件全部添加到仓库
- git commit -m “test” :把文件 提交到仓库
- git remote add origin git@192.168.78.130:root/test.git :关联远程仓库
- git push :将本地内容推送到远程仓库
6、GitLab常见问题处理
6.1、登录时502报错:
一般是权限问题,解决方法:chmod -R 755 /var/log/gitlab
如果还不行,请检查你的内存,安装使用GitLab需要内存较高.调整内存
6.2、注册时,注册邮箱收不到gitlab发送的确认邮件,导致无法登陆问题
1).修改postfix配置文件: vim /etc/postfix/main.cf
myhostname = sample.test.com //设置系统的主机名
mydomain = test.com //设置域名(此处为Email地址@后边部分)
myorigin = $mydomain //将发信地址@后边的部分设置为域名(非系统域名)
inet_interfaces = all //接收来自所有网络的请求
mydestination = $myhostname, localhost.$mydomain, localhost //指定用户邮箱目录
home_mailbox = Maildir //指定用户邮箱目录
注意:安装mailx yum -y install mailx
2).测试邮件是否能够发送成功
echo "hello word" | mail -s "Mail Subject" xxx@xxx.com
ps:上面的xxx@xxx.com为你希望收到邮件的邮箱地址
3).当邮箱收到系统发来的邮件时,将系统的地址复制下来:如:root@test.com
打开 /etc/gitlab/gitlab.rb将
gitlab_rails['gitlab_email_from'] = ‘gitlab@example.com’
改为:
itlab_rails['gitlab_email_from'] = ‘root@test.com’
4).重新配置gitlab
gitlab-ctl reconfigure
7、gitlab-ce_8取消邮箱验证
使用版本 gitlab-ce_8.7.5-ce.0_amd64, 操作系统ubuntu 16.04,默认安装。如果是编译安装或者其他方法安装,目录应该不一样。每缩进一次就是上面的子目录,修改前建议先备份
/opt/gitlab/embedded/service/
gitlab-rails/app/models/user.rb # 删掉 devise后面的confirmable
gem/ruby/2.1.0/gems/devise-3.5.4/test/ # 这个两个貌似不用改
failure_app_test.rb # 删掉有You have to confirm your email address before continuing
integration/confirmable_test.rb # 字符串的 test end 块
gitlab-rails/app/views/devise/
confirmations/almost_there.haml # 这个不改也可以的。把最后三行删掉
# 即含有new_user_confirmation_path的块
shared/_signup_box.html.haml # 把最后四行删掉
# 即含有new_confirmation_path的块
参考:https://www.cnblogs.com/clsn/p/7929958.html