GitLab是一个代码仓库,用来管理代码。Jenkins是一个自动化服务器,可以运行各种自动化构建、测试或部署任务。所以这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以一定频率自动运行测试、构建和部署的任务,帮组开发团队更高效的集成和发布代码。
下面是我最近安装GitLab+Jenkins环境的一个过程,记录下来,以备日后参考。
另外,这篇文章虽然很长,讲得很琐碎,但是仍有未能描述清楚的地方,如果按照这篇文章未能搭建成功,请耐心分析,也可从官方文档 找找灵感,继续下去总会成功的。
环境
本文将在单机上搭建一个GitLab+Jenkins环境,两者分别使用不同的端口,操作系统是ubuntu 16,其它系统可去官网找教程。
安装GitLab
这里参照官网安装教程,命令和官网是一样的,不过有些地方有特殊说明,所以,可以直接参照本小节来安装。
1、安装GitLab依赖
sudo apt-get install curl openssh-server ca-certificates postfix
注意,在安装postfix的时候,选择“internet site”:
然后,“system mail name”填写你的服务器的IP地址(下面这张图只是):
为什么要填IP地址呢?
这是因为,如果自己手上没有已注册的域名的话,随便填写一个域名是解析不了的。而这里填写的域名对GitLab影响很大,比如我这里随便填为“qsjn.com”,那我在GitLab中创建的项目默认就会使用“[email protected]”这样的地址,这就会带来不必要的麻烦。但是,如果你真的有注册域名的话,还是建议填写你的注册域名。
2、下载和安装GitLab
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo apt-get install gitlab-ee
3、配置GitLab
GitLab默认会占用80
、8080
和9090
端口,很不巧,Jenkins默认也会使用8080端口,所以,这一步操作将会修改GitLab的默认端口为11000
、11001
和11002
,如果你还是希望使用默认端口的话,可以跳过这一步。
sudo vi /etc/gitlab/gitlab.rb
(1)将
external_url 'http://127.0.0.1'
修改为:
external_url 'http://<你的服务器地址或域名>:11000'
(2)将
# unicorn['port'] = 8080
修改为:
unicorn['port'] = 11001
(3)将
#prometheus['listen_address'] = 'localhost:9090'
修改为:
prometheus['listen_address'] = 'localhost:11002'
4、生效配置和启动GitLab
因为我们修改了配置,所以使用reconfigure
命令重新配置
sudo gitlab-ctl reconfigure
另外说明一下,平时未修改配置的话,可以使用: