CI(持续集成)是现在开发必不可少的一门功课。接下来,我们将要花一些时间搭建CI环境。这里,我们从GitLab开始。
参考官方文档进行安装。
在这里先安装GitLab必要的一些依赖:
sudo yum install curl openssh-server openssh-clients postfix cronie
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh
运行以下命令可以直接更新资源以及安装gitlab。如果想安装特定的版本,可以参考官方文档。
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
以下命令的作用是重新加载配置并启动服务。
sudo gitlab-ctl reconfigure
修改Nginx端口以及地址监听的操作,在文件/etc/gitlab/gitlab.rb中修改:
nginx['listen_addresses'] = ["0.0.0.0", "[::]"] # listen on all IPv4 and IPv6 addresses
nginx['listen_port'] = 8082
修改地址:在文件/etc/gitlab/gitlab.rb
中修改,external_url 'git.xxxx.io'
。这个地方是你项目的git的地址,最好更改下。
系统默认会用到8080端口作为启动时候的必须端口。如果不想用8080端口的话,可以通过这样的操作:在/etc/gitlab/gitlab.rb
中修改unicorn['port']=端口号
在/etc/gitlab/gitlab.rb
中修改git_data_dir "/program/gitlab-data"
,更改仓库存储位置
运行sudo gitlab-ctl reconfigure
第一次登录GitLab的用户名密码为root和5iveL!fe。首次登录后会强制用户修改密码。
这边的使用Nginx做代理,指的是在另一台机子上使用Nginx做一层代理(也可以在gitlab的Ng直接做代理)。
server {
listen 80 ;
server_name git.xxxx.io git.xxxx.com;
location / {
proxy_pass http://xxx.xxx.xxx:8082;
proxy_redirect off;
proxy_set_header Host $host;
#proxy_set_header X-Real-Ip $remote_addr;
#proxy_set_header X-Forwarded-For $remote_addr;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
sudo gitlab-ctl start # 启动所有 gitlab 组件;
sudo gitlab-ctl stop # 停止所有 gitlab 组件;
sudo gitlab-ctl restart # 重启所有 gitlab 组件;
sudo gitlab-ctl status # 查看服务状态;
sudo gitlab-ctl reconfigure # 启动服务;
sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
sudo gitlab-ctl tail # 查看日志;