使用 GitLab Pipeline 进行持续集成

GitLab代码提交或推送触发CI pipeline,需要满足以下2点条件:

  1. 仓库根目录下存在有 .gitlab-ci.yml 文件

  2. 该项目有可用的 GitLab Runner

这样,仓库每收到一次push,runner都会自动启动pipeline,结果显示在项目的pipeline页面。

一、.gitlab-ci.yml文件

.gitlab-ci.yml是什么

.gitlab-ci.yml文件告诉GitLab runner要做什么事情,默认三个stage:buildtestdeploy。不必3个都用,没有job的节点会被忽略。

.gitlab-ci.yml有版本控制,因此各个分支或fork可以使用自己的pipelines和job。

创建一个.gitlab-ci.yml

注意:YAML文件对缩进有强校验,请使用空格,不要使用tabs。

before_script:
  - apt-get update -qq && apt-get install -y -qq sqlite3 libsqlite3-dev nodejs
  - ruby -v
  - which ruby
  - gem install bundler --no-ri --no-rdoc
  - bundle install --jobs $(nproc)  "${FLAGS[@]}"

rspec:
  script:
    - bundle exec rspec

rubocop:
  script:
    - bundle exec rubocop

推送到远程仓库:

git add .gitlab-ci.yml
git commit -m "add .gitlab-ci.yml"
git push origin master

二、GitLab Runner

Runner负责执行.gitlab-ci.yml文件中定义的job,可以是虚拟机、vps、裸机、docker容器或容器集群。GitLab和Runner之间通过API接口通信,因此唯一要求是Runner机器网络可通。

项目的Settings-->CI/CD-->Runners页面可以查看到是否有可用的Runner。

安装与配置

主要几个步骤:

1)安装
参考文档 https://docs.gitlab.com/runner/install/

2)注册,区分Shared RunnerSpecific Runner

  • Shared Runner:公共的所有项目都可用的runner,需要admin用户拿到gitlab全局的token
  • Specific Runner:专为某个项目服务的runner,需要拿到项目的注册token

参考https://docs.gitlab.com/runner/register/

3)启动runner服务
runner注册之后是需要启动的,命令sudo gitlab-runner run,否则你的pipeline将一直处于pending状态。

4)测试一下

 

CI/CD->pipeline页面

每一次push都会触发Pipeline

引用一篇文章,讲解的非常清楚,供参考:https://www.cnblogs.com/cnundefined/p/7095368.html

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AllenLeungX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值