GitLab CI/CD 配置指南 .gitlab-ci.yml文件的配置

举报
拿我格子衫来 发表于 2022/03/17 23:55:40 2022/03/17
【摘要】 GitLab的CI/CD 完全是由.gitlab-ci.yml  文件内容决定的   GitLab的CI/CD的具体内容是由.gitlab-ci.yml文件定义的, 一个在GitLab的项目,项目根目录只有有.gitlab-ci.yml文件,并且配置了Runner,那么每次提交代码 都会触发CI的pipline....

GitLab的CI/CD 完全是由.gitlab-ci.yml  文件内容决定的

 

GitLab的CI/CD的具体内容是由.gitlab-ci.yml文件定义的,
一个在GitLab的项目,项目根目录只有有.gitlab-ci.yml文件,并且配置了Runner,那么每次提交代码
都会触发CI的pipline
.gitlab-ci.yml文件是告诉GitLab的runner去做什么在每次触发后,runner默认有三个阶段,
build,test,deploy,你不必每次编写都使用三个阶段,如果一个阶段没有任务,可以直接忽略它


因为.gitlab-ci.yml是存在于项目中的,所有可以进行版本,分支控制,不同的分支,不同的版本可以有不同.gitlab-ci.yml内容
不用的任务

.gitlab-ci.yml 文件是使用YAML的文件格式来编写的,只允许空格,不允许Tabs

在项目根目录创建一个文件,下面是一个Ruby的项目

 


  
  1. before_script:
  2.   - apt-get update -qq && apt-get install -y -qq sqlite3 libsqlite3-dev nodejs
  3.   - ruby -v
  4.   - which ruby
  5.   - gem install bundler --no-document
  6.   - bundle install --jobs $(nproc)  "${FLAGS[@]}"
  7. rspec:
  8.   script:
  9.     - bundle exec rspec
  10. rubocop:
  11.   script:
  12.     - bundle exec rubocop

这是对大多数Ruby应用都适用的简单配置

定义了两个任务 rspec和rubocop 分别会执行不同的脚本

在每次任务执行之前,定义的before_script脚本都会先被执行


.gitlab-ci.yml可以设置一些任务,限定他们以什么顺序,怎么去执行命令,脚本.

那些带有名字的高等级任务,必须包含一个script关键字
这下脚本 都会在Runnner中执行

GitLab 提供了一个验证.gitlab-ci.yml文件的工具, 在项目名的路径后面加上 -/ci/lint 即可访问

如果项目中有嵌套的微仓库 需要配置一下才能自动运行
Settings > Repository > Pull from a remote repository > Trigger pipelines for mirror updates.


在GitLab中Runnner是运行那些你再.gitlab-ci.yml中定义的任务,一个Runner可能是一个虚拟机,
一个VPS,一个Docker容器,或者一个集群,GitLab与Runner通信通过API

安装Runner
配置Runner

文章来源: fizzz.blog.csdn.net,作者:拿我格子衫来,版权归原作者所有,如需转载,请联系作者。

原文链接:fizzz.blog.csdn.net/article/details/107443530

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。