安装 gitlab
官方安装指南 https://about.gitlab.com/inst...
sudo gitlab-ctl reconfigure // 更新配置
sudo gitlab-ctl restart // 重启
sudo gitlab-ctl status //
目前启动状态
汉化
下载最新的汉化包
git clone https://gitlab.com/xhang/gitlab.git
如果是要下载老版本的汉化包,需要加上老版本的分支,比如今天已经是10.0.4,我依旧想下载10.0.2,可以运行下面的语句
git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh
查看该汉化补丁的版本
cat gitlab/VERSION
停止gitlab服务
gitlab-ctl stop
切换到gitlab汉化包所在的目录(即步骤二获取的汉化版gitlab)
cd /root/gitlab
比较汉化标签和原标签,导出 patch 用的 diff 文件到/root下
git diff v10.0.2 v10.0.2-zh > ../10.0.2-zh.diff
回到/root目录
cd
将10.0.2-zh.diff作为补丁更新到gitlab中
yum install patch -y
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.0.2-zh.diff
启动gitlab
gitlab-ctl start
重新配置gitlab
gitlab-ctl reconfigure
至此gitlab已经是汉化版的了!!!!
安装 runner
添加yum源
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
安装runner
yum install gitlab-ci-multi-runner
向GitLab-CI注册runner
gitlab-ci-multi-runner register
回车显示
填入gitlab的URL
填入token(不清楚如何获取token的可以参考我的另一篇博客《获取Gitlab项目的Token》)
添加runner描述,这个描述可以以后gitlab网页里修改
添加描述标签,若添加多个需用逗号隔开,同样可以以后修改
询问是否在未加标签的Build上运行 ,我这里选择的“true”,默认为“false”。
询问是否锁定最近项目 ,默认为“是”,直接回车
提醒注册完成,选择runner要运行的平台和方式,请根据你需求选择
例如
ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:docker
回车
如果选择了docker,还会提醒输入默认的Docker Image,请确认电脑已经安装了docker
参考资料
Executor | Description |
---|---|
shell | 在本地运行生成,默认情况下 |
docker | 使用Docker容器运行生成。这需要有[runners.docker]和码头发动机安装在运行程序将在其上运行作业的系统上。 |
docker-windows | 使用WindowsDocker容器运行生成。这需要有[runners.docker]和码头发动机安装在Windows系统上。 |
docker-ssh | 使用Docker容器运行Build,但是使用SSH连接到它-这需要[runners.docker] , [runners.ssh]和码头发动机安装在运行的系统上。注意:这将在本地机器上运行docker容器,它只是改变了命令在容器中的运行方式。如果要在外部计算机上运行docker命令,则应更改host参数中的runners.docker部分。 |
ssh | 使用SSH远程运行Build-这需要[runners.ssh] |
parallels | 使用Parallels VM运行构建,但是使用SSH连接到它这需要使用[runners.parallels]和[runners.ssh] |
virtualbox | 使用VirtualBox VM运行构建,但是使用SSH连接到它-这需要[runners.virtualbox]和[runners.ssh] |
docker+machine | 喜欢docker,但使用自动修船机-这需要有[runners.docker]和[runners.machine] |
docker-ssh+machine | 喜欢docker-ssh,但使用自动修船机-这需要有[runners.docker]和[runners.machine] |
kubernetes | 使用Kubernetes Pods运行构建-这需要[runners.kubernetes] |
避免与nginx冲突
取消 gitlab 自带 nginx 占领80端口
vim /etc/gitlab/gitlab.rb
nginx['listen_port'] = 82
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
server {
listen *:82;
server_name gitlab.example.com;
nginx 另外增加 git.shenzhepi.conf
添加反向代理
upstream git{
# 域名对应 gitlab配置中的 external_url
# 端口对应 gitlab 配置中的 nginx['listen_port']
server 域名:端口;
}
server{
listen 80; # 此域名是提供给最终用户的访问地址
server_name 域名;
location / { # 这个大小的设置非常重要,如果 git 版本库里面有大文件,设置的太小,文件push 会失败,根据情况调整
client_max_body_size 50m;
proxy_redirect off; #以下确保 gitlab中项目的 url 是域名而不是 http://git,不可缺少
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 反向代理到 gitlab 内置的 nginx
proxy_pass http://git;
index index.html index.htm;
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。