安装 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

回车显示
image
填入gitlab的URL
image
填入token(不清楚如何获取token的可以参考我的另一篇博客《获取Gitlab项目的Token》)
image

添加runner描述,这个描述可以以后gitlab网页里修改
image

添加描述标签,若添加多个需用逗号隔开,同样可以以后修改

询问是否在未加标签的Build上运行 ,我这里选择的“true”,默认为“false”。
image
询问是否锁定最近项目 ,默认为“是”,直接回车
image

提醒注册完成,选择runner要运行的平台和方式,请根据你需求选择

例如
ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:docker
image
回车
如果选择了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;
    }
}

鱼叔子
95 声望0 粉丝