搭建内部的gitlab服务器遇到的坑总结

序言

最近在搭建一个内部的gitlab代码服务器。本来用的是另一个版本的git服务器,但是功能受到制约。google gitlab的CI/DI功能非常强大。我们项目组用gitlab,每次push到代码到自己的project时候,runner执行当前栈顶的代码。

在ubuntu系统下,安装的教程比较简单ubuntu gitlab安装地址。一些安装细节,比如gitlab修改root的账号和密码都有的,很详细可以看看。英文文档看的麻烦,放在有道翻译即可。

这里仅仅分享,我在安装和配置runner的坑,对这些坑提供了一些解决方法。

解决方法

1.在安装gitlab时候,需要指定本机的ip。
比如我的机器是IP 192.168.18.133

sudo EXTERNAL_URL="http://192.168.18.133" apt-get install gitlab-ee

需要注意,这个IP是静态IP。指定后服务器主机的ip不允许再改变了。
在这里插入图片描述

2.在runner的服务器上,gitlab会创建一个gitlab-runner用户。那么问题就会出现,需要修改maven的仓库的权限。

3.创建runner上,job可能会找不到runner。解决方式是:
选择这个按钮
Run untagged jobs
Indicates whether this runner can pick jobs without tags
runner和job匹配的规则是,runner的tag和项目的tag要相同。因为你的项目里可能没有标注tag,那么就要选择这个按钮。
在这里插入图片描述

4.需要注意,在build的job里就需要执行cp这个jar包

5.打包默认执行push代码

6.merge request时候出现,close request和merge。

7.gitlab-ci.yml文档 https://docs.gitlab.com/ce/ci/yaml/README.html#stages
example文档
https://docs.gitlab.com/ee/ci/examples/artifactory_and_gitlab/

8.如果是maven,runner上要安装maven。同时maven的仓库要服务gitlab-runner这个用户rwx权限。

9.runner执行是你当前的commit push的代码。当runner的yml文件改变时候,还是执行原来commit, push的yml和代码。

10.runner安装所有步骤
runner安装地址的doc
https://docs.gitlab.com/runner/install/linux-manually.html

安装runner

sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64

sudo chmod +x /usr/local/bin/gitlab-runner

sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner

sudo gitlab-runner start

根据查看如下图显示,说明安装成功
service gitlab-runner status
在这里插入图片描述

注册一个runner服务
sudo gitlab-runner register
执行这条命令后,他会给你详细指导,按照他的步骤就行了。

本篇小结

这里gitlab做到了,从代码编写提交到代码自动化测试测试报告软件版本控制形成了一条龙流水线化,功能灵活,效果优雅。值得推荐给大家。
这里自动化高度集成测试的架构是,不详细展开(会涉及机密)。
每次push的runner会根据ci.yml脚本,来执行target test server服务。

本片文章介绍了安装和配置的一些坑,在后面的文章中会介绍详细的使用方式。细分到管理员和普通用户级别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值