.gitlab-ci.yml简介
关键字介绍
script 由Runner执行的Shell脚本。
image 使用docker镜像, image:name
service 使用docker services镜像, services:name
before_script 执行作业前运行的脚本
after_script 作业完成后运行的脚本
stages 定义管道中的步骤,依次运行
stage 定义管道中步骤的作业段
only 指定作业限制only:refs,only:kubernetes,only:variables,和only:changes
tags 指定执行作业的runner
allow_failure 允许job失败
when 什么时候开始工作,
on_success 只有当前一个阶段的所有工作都成功时(或者因为它们被标记而被认为是成功的allow_failure)才执行工作 。这是默认值。
on_failure 仅当前一阶段的至少一个作业失败时才执行作业。
always 无论先前阶段的工作状态如何,都可以执行工作。
manual 手动执行作业
delayed 延迟作业。后面跟start_in,start_in 30minutes(延迟30分钟),不加单位,默认为秒。最长可延迟1小时。
environment 作业部署到的环境名称 #暂未搞清
cache
key:"$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG" #为每分支,每步骤启用缓存
artifacts job成功时附加到作业的文件或目录
dependencies 此job依赖其他jobz,主要作用于作业优先级
converage 给定作业代码覆盖率设置
retry 在发生故障时,可以自动重试作业的次数。
parallel 应该并行运行多少个作业实例
trigger 定义下游管道触发器
include 允许此作业包含外部YAML
extends 此作业将继承的配置项
pages 上传作业结果用于gitlab pages
variables 作业级别定义作业变量
简单使用案例
runner的执行方式为shell的简单示例。
cache:
key:"$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG" #为每分支提供缓存
paths:
- node_modules #缓存哪些文件/文件夹
- bower_components
before_script:
-echo "执行前运行脚本"
after_script:
-echo "执行后运行脚本"
stages: #设置步骤有哪些,常用三大块,创建,测试,发布
-build
-test
-deploy
Job1: #设置某一步的运行工作,每个步骤可有多个job同步进行,也可设置dependencies限制
stage:build #此job属于哪个步骤
script:
-echo "go go go"
only:
-master #哪个分支触发
tags:
-share #指定runner,注册runner时填写的tag
test:
stage:test
script:
-echo "测试开始"
only:
-master
tags:
-share
deploy:
stage:deploy
when:
- manual #上面有解释
script:
-echo "部署开始"
only:
-master
tags:
-share
.gitlab-ci.yml简介的更多相关文章
- GitLab CI/CD的官译【原】
CI / CD方法简介 软件开发的持续集成基于自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性.从新代码的开发到部署,它们需要较少的人为干预甚至根本不需要干预. 它涉及在每次小迭代中不断 ...
- 【转】gitlab CI流水线配置文件.gitlab-ci.yml详解
目录 GitLab CI流水线配置文件.gitlab-ci.yml详解 实验环境 GitLab CI介绍 .gitlab-ci.yml 配置参数 参数详解 script image services ...
- GitLab CI持续集成配置方案
目录 1. 持续集成介绍 1.1 概念 1.2 持续集成的好处 2. GitLab持续集成(CI) 2.1 简介 2.2 GitLab简单原理图 2.3 GitLab持续集成所需环境 2.4 需要了解 ...
- GitLab CI
GitLab CI持续集成配置方案 目录 1. 持续集成介绍 1.1 概念 1.2 持续集成的好处 2. GitLab持续集成(CI) 2.1 简介 2.2 GitLab简单原理图 2.3 Git ...
- 手把手详解持续集成之GitLab CI/CD
一.环境准备 首先需要有一台 GitLab 服务器,然后需要有个项目:这里示例项目以 Spring Boot 项目为例,然后最好有一台专门用来 Build 的机器,实际生产中如果 Build 任务不频 ...
- GitLab CI/CD 进行持续集成
简介 从 GitLab 8.0 开始,GitLab CI 就已经集成在 GitLab 中,我们只要在项目中添加一个 .gitlab-ci.yml 文件,然后添加一个 Runner,即可进行持续集成. ...
- 用 GitLab CI 进行持续集成
简介 从 GitLab 8.0 开始,GitLab CI 就已经集成在 GitLab 中,我们只要在项目中添加一个 .gitlab-ci.yml 文件,然后添加一个 Runner,即可进行持续集成. ...
- 在 Kubernetes 上安装 Gitlab CI Runner Gitlab CI 基本概念以及 Runner 的安装
简介 从 Gitlab 8.0 开始,Gitlab CI 就已经集成在 Gitlab 中,我们只要在项目中添加一个.gitlab-ci.yml文件,然后添加一个Runner,即可进行持续集成.在介绍 ...
- 3.在 Kubernetes 上安装 Gitlab CI Runner
结合文章:1. 在 Kubernetes 上安装 Gitlab ,地址:https://www.cnblogs.com/sanduzxcvbnm/p/13852854.html 总结: 结合开头的文章 ...
- Ubuntu Docker 安装和配置 GitLab CI 持续集成
相关文章: Ubuntu Docker 简单安装 GitLab 劈荆斩棘:Gitlab 部署 CI 持续集成 目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runne ...
随机推荐
- Gym 102056I - Misunderstood … Missing - [DP][The 2018 ICPC Asia-East Continent Final Problem I]
题目链接:https://codeforces.com/gym/102056/problem/I Warm sunshine, cool wind and a fine day, while the ...
- Codeforces 1136D - Nastya Is Buying Lunch - [贪心+链表+map]
题目链接:https://codeforces.com/problemset/problem/1136/D 题意: 给出 $1 \sim n$ 的某个排列 $p$,再给出若干 $(x,y)$ 表示当序 ...
- linux终端提示符显示bash-4.2#
原因是root在/root下面的几个配置文件丢失,丢失文件如下: 1..bash_profile 2..bashrc 以上这些文件是每个用户都必备的文件. 使用以下命令从主默认文件重新拷贝一份配置信息 ...
- Jenkins+Jmeter持续集成笔记(二:ANT执行Jmeter脚本)
Jmeter接口测试脚本运行后生成的是jtl(xml)格式的文件,这些文件不具备可读性,所以我们要把他转化为可以阅读的html格式报告. Ant是一个功能强大的打包编译工具.我们使用他的目的是将xml ...
- Android字符串判断是否包含中文
// 判断一个字符是否是中文 public boolean isChinese(char c) { return c >= 0x4E00 && c <= 0x9FA5;// ...
- expdp 字符集从ZHS16GBK到AL32UTF8
源oracle数据库是GBK字符集,目标库是UTF8字符集,现在需要将源库的一个表空间数据导入到目标库.我的解决方法有点繁琐,首先直接导出源库的表空间 expdp trmuser/trmpass sc ...
- 【JVM】-NO.114.JVM.1 -【JDK11 HashMap详解-3-put-treeifyBin()-AVL】
Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...
- web前端学习历程--排序
一.js排序方法 1.按字母顺序排列: arr.sort() 2.按数值从小到大: function sortNumber(a,b)//排序函数 { return a - b } var arr = ...
- spring boot 整合freemarker(好用!!!!)
springboot整合freemarker 1.pom依赖 <!-- 引入freeMarker的依赖包. --> <dependency> <groupId>or ...
- Html lable 标签
Html lable 标签 <html> <body> <!-- label 关联光标标签,点击文字使得关联的标签获取光标.for="username" ...