centOS7安装Gitlab和Runner

安装依赖

1
yum install -y curl policycoreutils-python openssh-server

配置ssh服务

将SSH服务设置成开机自启动

1
sudo systemctl enable sshd

启动SSH服务

1
sudo systemctl start sshd

配置防火墙

安装防火墙

1
yum install firewalld systemd -y

启动防火墙

1
service firewalld  start

添加http服务到防火墙

1
sudo firewall-cmd --permanent --add-service=http

重启防火墙

1
sudo systemctl reload firewalld

配置postfix

安装postfix

1
sudo yum install postfix

设置开机启动

1
sudo systemctl enable postfix

启动postfix

1
sudo systemctl start postfix

在安装Postfix期间,可能会出现配置屏幕。选择“Internet Site”并按enter键。使用您的服务器的外部DNS以“mail name”并按enter。如果出现额外的屏幕,继续按enter键接受默认值。

准备工具

  • wget
  • vim

如果没有安装,使用下面的命令来安装

1
2
yum install wget -y
yum install vim -y

安装gitlab

下载gitlab镜像

1
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

上面的命令是安装10.0.0版本的gitlab社区版。所有的镜像在https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/

安装gitlab

1
rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

后边的rpm文件是上一步下载好的包。

这样显示就是安装成功了

配置gitlab

打开gitlab配置文件

1
vim  /etc/gitlab/gitlab.rb

external_url改为http://服务器ip:端口

重置并重启

1
2
gitlab-ctl reconfigure
gitlab-ctl restart

访问gitlab

直接访问上一步填写的ip和端口地址,初始账户是

1
初始账户: root 密码:5iveL!fe

汉化gitlab

在另一个目录clone这个仓库:

https://gitlab.com/xhang/gitlab/

如果clone太慢,可以使用国内gitee上的同款仓库:

https://gitee.com/zhangzheng_764/gitlab-zh

进入仓库目录下,查看所有分支。

1
git branch -a

根据已安装的版本,进行对比,生成补丁包。

1
git diff remotes/origin/10-2-stable remotes/origin/10-2-stable-zh > /tmp/10.2.2-zh.diff

上面示例中是10.2.2版本,要根据实际安装的版本进行更改。

生成补丁包后,先停止gitlab服务。

1
gitlab-ctl stop

打补丁

1
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < /tmp/10.2.2-zh.diff

启动gitlab并重新配置

1
2
gitlab-ctl start
gitlab-ctl reconfigure

刷新页面,汉化完成。

安装gitlab runner

用wget下载镜像

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ci-multi-runner/

安装镜像

1
rpm -i gitlab-ci-multi-runner-9.5.1-1.x86_64.rpm

获得gitlab-ci的token

1
项目主页 -> Sttings -> CI/CD -> Runners Expand

注册一个runner出来

1
gitlab-runner register

配置自动部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# This file is a template, and might need editing before it works on your project.
# Full project: https://gitlab.com/pages/hexo
image: node:10.15.3
stages:
- deploy
before_script:
- echo '开始准备服务'
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- mkdir -p ~/.ssh
- rm -Rf ~/.ssh/id_rsa
- touch ~/.ssh/id_rsa
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
- rm -Rf ~/.ssh/known_hosts
- touch ~/.ssh/known_hosts
- echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
- chmod 700 ~/.ssh
- chmod 700 ~/.ssh/*
- echo '执行git设置'
- git config --global user.email "t@xtzero.me"
- git config --global user.name "xtGitlabRuner"
- echo '给npm设置成淘宝源'
- npm config set registry https://registry.npm.taobao.org/
- npm config get registry
deploy:
stage: deploy
script:
- cd /data/www/night/web
- git pull
- echo 开始构建项目
- npm run build
- ls
- ls dist

参考

gitlab官网

Centos 7搭建Gitlab服务器超详细

gitlab 安装及汉化

Gitlab CI持续集成 - GitLab Runner 安装与注册


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!