gitlab和gitlab-runner安装配置以及操作实例
一、网站资料
- 清华大学yum源:https://mirrors.tuna.tsinghua.edu.cn/ 包含gitlab-ce gitlab-ee gitlab-runner
- gitlab的中文社区,包括汉化包:https://gitlab.com/xhang/gitlab
- gitlab官方网站以及包:https://packages.gitlab.com/gitlab
- 清华gitlab yum源
- 安装gitlab以及部署用例:http://blog.51cto.com/passed/2073623
https://www.cnblogs.com/straycats/p/7637373.html
https://juejin.im/entry/589d39fe0ce46300562ae22e
二、安装和部署gitlab(管理员操作)
- 安装postfix邮件服务
yum install -y postfix
systemctl restart postfix
systemctl enable postfix - 安装gitlab-ce
链接:https://pan.baidu.com/s/1nmwMA4KRf32NhwbLMxri9g 密码:baxk
rpm -ivh gitlab-ee-10.5.6*.rpm - 如果需要汉化gitlab,则进行下面的操作
停止gitlab服务:gitlab-ctl stop
链接:https://pan.baidu.com/s/1CY-2u8xc5wYMj1dRwr74IQ 密码:oxuc
将v10.5.6-zh.diff作为补丁更新到gitlab中:
yum install patch -y
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < v10.5.6-zh.diff 修改配置gitlab.rb
修改安装gitlab的主机的ip地址的url,公司目前不是的gitlab的ip地址是
192.168.6.130
重新配置:gitlab-ctl reconfigure
重启动服务:gitlab-ctl restart如果汉化之后,运行ip地址失败,尝试下面的操作后在运行ip地址
gitlab-rails console production
稍等一会后会出现
irb(main):001:0> user = User.where(id: 1).first // id为1的是超级管理员
irb(main):002:0>user.password = ‘11111111’ // 密码必须至少8个字符
irb(main):003:0>user.save! // 如没有问题 返回true
exit // 退出- 修改了配置,需要重重新加载配置和重启服务
gitlab-ctl reconfigure
gitlab-ctl restart - 在浏览器输入上上面配置的ip地址
对于公司的gitlab,输入 192.168.6.130
修改管理员的密码为 12345678 - 使用root账户登录gitlab
查看共享runner的url和注册令牌
URL: http://192.168.6.130/
注册令牌: fySjyZzocU6-rkWJdbdx
三、安装和部署gitlab-runner(每一个开发者操作)
- 链接:https://pan.baidu.com/s/1tgfPQsuu8OfkxaUXTbBPSw 密码:6pa0
- 安装gitlab-runner
gitlab-runner是在编译和测试的机器上,最好不要装在安装gitlab的主机上
链接:https://pan.baidu.com/s/1CVdxmSpcfpjqjyWTA1Ipxg 密码:sv7k
rpm -ivh gitlab-runner-10.6.0-1.x86_64.rpm
此时,通过gitlab-runner status可以看到,运行了 - 注册runner到gitlab
gitlab-runner register -n –name ningchaoju –tag-list ningchaoju -url http://192.168.6.130 -r fySjyZzocU6-rkWJdbdx –executor shell –locked=false –run-untagged true
需要修改的是上面红色的部分,修改成你自己的名字的 全拼
然后一直按住enter键
四、编写.gitlab-ci.yml|(每一个开发者操作)
- 现在gitlab服务器和gitlab-runner都已经安装,就需要在每一个项目下,编写.gitlab-ci.yml文件
这个文件也必须要同项目代码一起上传到gitlab服务器,gitlab服务器就会根据.gitlab-ci.yml里面的内容来执行相关的编译,测试,以及部署,主要是检查代码是否能编
译成功,以及代码是否有语法上的错误和逻辑上的错误,内存泄漏检查,空指针检查,以及代码覆盖的测试等等,只有编写的这策略都通过了,才能dev开发分支合并到
master主线分支上。
关于写.gitlab-ci.yml的语法,请看下面的连接
https://github.com/Fennay/gitlab-ci-cnyaml配置文档有所有的语法
下面的连接是很多yml的例子:
https://github.com/gitlabhq/gitlabhq/tree/master/vendor/gitlab-ci-yml