Gitlab 8.x runner安装与配置

介绍

  Gitlab 8.x以后默认集成了Gitlab CI,意味着支持了持续集成相关功能。每一次集成操做都须要对应的runner来跑代码构建、测试、发布等操做。Runner实际上就是为Gitlab的持续集成指定一个环境。html

安装

官方文档地址:https://docs.gitlab.com/runner/install/java

  Gitlab Runner的版本须要跟Gitlab对应,这里有一个对照表。最新的版本对照表中并无Gitlab8.X对应的Runner版本,查了一下Gitlab8.X对应的Runner版本为1.X,因此这里选择runner 1.11.2版本。node

  这里运行Gitlab与Runner的环境均为CentOS,以前尝试在windows上安装runner,对接Linux上的Gitlab,发如今Gitlab runner运行的控制台出现乱码问题。linux

0.准备git

在opt下建立gitlab-runner目录并进入该目录,后续执行的操做与全部的资源都放在这个目录中shell

cd /opt
mkdir gitlab-runner
cd gitlab-runner/
复制代码

1.下载npm

下载安装资源到gitlab-runner目录中vim

sudo wget https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v1.11.2/binaries/gitlab-ci-multi-runner-linux-386
复制代码

2.添加运行权限windows

sudo chmod +x gitlab-ci-multi-runner-linux-386
复制代码

3.建立用户bash

sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
复制代码

4.安装

sudo gitlab-ci-multi-runner-linux-386 install --user=gitlab-runner --working-directory=/opt/gitlab-runner
sudo gitlab-ci-multi-runner-linux-386 start
复制代码

配置

  通过上面的步骤,Runner就已经跑起来了,剩下的还须要Runner与项目对接起来。Runner的类型分为Shared, specific and group Runners。这里选择specific类型,即单独的项目使用。

  在Gitlab项目的setting-runner中,配置过程当中会使用到urltoken以下所示:

这里写图片描述

1.运行register命令

./gitlab-ci-multi-runner-linux-386 register
复制代码

以后就按照提示就好了

2.输入url地址
3.输入token
4.输入描述,任意便可
5.输入标签,这里直接Enter跳过
6.选择Runner executor,这里选择shell

到这里就已经注册成功了,输入./gitlab-ci-multi-runner-linux-386 list就能看到上面的注册的条目。

官方文档地址:https://docs.gitlab.com/runner/register/index.html

其它

  上面两个步骤作完后,此时按理说Gitlab就能调用Runner跑持续集成了,实际当中还会碰到其它问题,整理以下。

权限问题

  若是在Gitlab的Build控制台上报没法建立文件夹没法运行bash等,证实建立的GitLab Runner权限不够。 此时,我这里是修改GitLab Runner的权限跟root保持一致。

vim /etc/passwd
复制代码

经过上面命令能够编辑用户对应的权限,我这里打开默认为gitlab-runner:x:601:601:GitLab Runner:/home/gitlab-runner:/bin/bash,权限组修改成跟root的一致gitlab-runner:x:0:0:GitLab Runner:/home/gitlab-runner:/bin/bash。(root的权限组名为0)

环境问题

因为Runner运行须要环境支撑,好比git、node、npm等,须要在Runner所在的服务器上准备好全部的依赖。

  • Linux Node安装
# 下载
wget https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz
# 解压
tar -xf  node-v8.11.3-linux-x64.tar.xz
# 创建软连接,实现全局访问
ln -s /opt/gitlab-runner/node-v8.11.3-linux-x64/bin/node /usr/local/bin/node
ln -s /opt/gitlab-runner/node-v8.11.3-linux-x64/bin/npm /usr/local/bin/npm
复制代码

此时,输入node -v就能看到node的版本了。

使用软链接方式可能对非root用户无效,能够转而使用配置环境变量的方式

# 修改配置文件
vim /etc/profile
#set for nodejs,新增NODE_HOME并放到PATH上
export JAVA_HOME=/opt/soft/java
export NODE_HOME=/opt/gitlab-runner/node-v8.11.3-linux-x64  
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$NODE_HOME/bin

复制代码

在vim环境下点击i进入插入状态,编辑完成后按Esc键,而后输入 :wq 按回车保存退出。

备注:内外环境还需修改NPM的镜像源,好比修改成npm config set registry https://registry-npm.daojia-inc.com/

附录 部分GitLab-Runner经常使用命令

1.gitlab-runner帮助:gitlab-runner –help

2.gitlab-runner指定命令帮助:gitlab-runner –help

3.注册runner:gitlab-runner register

4.注销runner:gitlab-runner unregister

5.当前运行的runner:gitlab-runner list

6.启动runner:gitlab-runner start

7.中止runner:gitlab-runner stop

8.重启runner:gitlab-runner restart

9.查询runner状态:gitlab-runner status

原文连接:Gitlab 8.x runner安装与配置

相关文章
相关标签/搜索