Skip to content

CentOS7 安装 Gitlab 和 Runner

2020-4-9 23:0:38

安装依赖

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

配置ssh服务

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

shell
sudo systemctl enable sshd

启动SSH服务

shell
sudo systemctl start sshd

配置防火墙

安装防火墙

shell
yum install firewalld systemd -y

启动防火墙

shell
service firewalld  start

添加http服务到防火墙

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

重启防火墙

shell
sudo systemctl reload firewalld

配置postfix

安装postfix

shell
sudo yum install postfix

设置开机启动

shell
sudo systemctl enable postfix

启动postfix

shell
sudo systemctl start postfix

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

准备工具

  • wget
  • vim

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

shell
yum install wget -y
yum install vim -y

安装gitlab

下载gitlab镜像

shell
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

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

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

这样显示就是安装成功了

配置gitlab

打开gitlab配置文件

shell
vim  /etc/gitlab/gitlab.rb

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

重置并重启

shell
gitlab-ctl reconfigure
gitlab-ctl restart

访问gitlab

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

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

汉化gitlab

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

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

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

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

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

shell
git branch -a

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

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

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

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

shell
gitlab-ctl stop

打补丁

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

启动gitlab并重新配置

shell
gitlab-ctl start
gitlab-ctl reconfigure

刷新页面,汉化完成。

安装gitlab runner

用wget下载镜像

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

安装镜像

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

获得gitlab-ci的token

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

注册一个runner出来

shell
gitlab-runner register

配置自动部署

shell
# 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 安装与注册

© thebestxt.cc
辽ICP备16009524号-8
本站所有文章版权所有,转载请注明出处