GitLab的CI自动编译

使用gitlab进行代码版本管理时,希望能够在将本地代码push到远程分支的时候或者在将远程分支请求合并到master主分支上的时候,为了确保代码的安全性(以防存在编译错误的代码合入版本中),可以自动进行代码的编译。只有编译通过了才允许将代码合入主分支。

下面介绍如何使用gitlab的CI/CD实现上述期望功能。

一、安装并启动gitlab-runner

首先在安装gitlab的服务器上安装gitlab-runner,安装命令如下:

sudo yum install gitlab-runner

安装成功后将gitlab-runner启动起来。 进入安装目录下的bin/下:

gitlab-runner start

二、配置runner

2.1 获取runner配置信息
在gitlab项目页面选择左侧 Settings ——> CI/CD ——> Runner settings ——> Expand

可以看到下面信息:


runner-settings.PNG

图中Setup a specific Runner manually模块下的2和3是下一步注册配置服务器上的runner需要的信息。

2.2 配置runner信息
在安装gitlab-runner的服务器端注册新的runner:

gitlab-runner register

按照提示输入配置信息:

[root@awaken120 bin]# gitlab-runner register
Running in system-mode.                                                               
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://1.1.1.1/              #需根据上述页面的配置信息2填写URL
Please enter the gitlab-ci token for this runner:
M**************              #需根据上述页面的配置信息3填写token
Please enter the gitlab-ci description for this runner:
[awaken120]: project         #描述随便写
Please enter the gitlab-ci tags for this runner (comma separated):
project                      #tag 后面的项目文件.gitlab-ci.yml中用到
Whether to run untagged builds [true/false]:
[false]: true                #是否运行未打标签的项目,选择的true
Whether to lock Runner to current project [true/false]:
[false]:                     #直接回车,选择false
Registering runner... succeeded                     runner=M8c-SAdx
Please enter the executor: docker-ssh+machine, kubernetes, parallels, shell, docker+machine, virtualbox, docker, docker-ssh, ssh:
shell                        #此处选择的shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 

2.3 项目中配置.gitlab-ci.yml

在项目根目录下增加.gitlab-ci.yml文件,内容:

variables:
  
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
 corresponding plugins.
  MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"

stages:
  - build
  - test
  - deploy


cache:
  paths:
    - .m2/repository

build-job:
  stage: build
  tags:
    - project
  only:
    - branches
  except:
    - master@project/project
  script:
    - 'mvn compile'

# For merge requests do not `deploy` but only run `test`.
# See https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html


test-job:
  stage: test
  tags:
    - project
  only:
    - branches
  except:
    - master@project/project
  script:
    - 'mvn test'

再次将本地带有.gitlab-ci.yml文件的分支push到远程分支,gitLab就会自动CI编译了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容