GitLab Pipeline规范及流程触发详解

 更新时间:2023年04月19日 10:28:42   作者:前端代码王  
这篇文章主要为大家介绍了GitLab Pipeline规范及流程触发详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

一、涉及概念

名称简述
Pipeline流水线,用于组织构建CI/CD流程,实现了Pipeline As Code
Stage一条流水线是由多个阶段组成的,每个阶段一个stage,阶段按顺序执行
Job每个阶段由多个Job组成,同个Stage下的多个Job可并行执行
CI/CD variablesCI/CD过程中的环境变量
GitLab Runner流水线任务执行者,执行定义好的脚步

二、Pipeline流程触发

触发角色触发动作目标分支Stage
项目负责人/开发人员mergedevelop构建、测试、部署开发环境
项目负责人/开发人员merge, committest, release/*构建、测试、打包、部署测试环境
项目负责人tagmaster构建、测试、打包、预发布

三、配置说明

GitLab Pipeline是通过解析仓库根目录下的.gitlab-ci.yml文件来执行流水线任务,常用配置示例如下:

# 缓存定义[可选],用于不同Runner实例间传递构建产物
cache:
  # 关键字,可隔离不同job或stage之间
  key: "$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHA"
  # 需要缓存的路径/文件
  paths:
    - file
    - dir/*
# stage定义<必填>
stages:
  - build
  - test
  - package
  - release
  # ...


# 定义Job<必填>,名称可自定义且不能重复
build-dev:
  # Runner镜像[可选],指定时会覆盖默认镜像
  # image: centos:7


  # 指定Runner<必填>
  tags:
    - golang-amd64
  # 关联的stage<必填>
  stage: build
  # 关联的触发分支[可选]
  only:
    - develop
  # 任务脚本【必填】
  script:
    - sh script/build_dev.sh


# test阶段
test:
  # ...
  stage: test
  # ...

详见:docs.gitlab.com/ee/ci/yaml/

四、共享Runner

公共Runner对于所有项目是可见的,可通过tag来指定特地功能的Runner

tag默认镜像包含功能描述
mavenrepo.netfuse.cn/cicd/maven:jdk-8maven3, jdk8, ssh构建Java
noderepo.netfuse.cn/cicd/node:14.2node, yarn, ssh构建前端
golang-amd64repo.netfuse.cn/cicd/golang:1.15-amd64repo.netfuse.cn/cicd/golang:1.16-amd64(可选)go, git, ssh构建Go,AMD64架构
golang-aarch64repo.netfuse.cn/cicd/golang:1.15-aarch64go, git, ssh构建Go,ARM64架构
kanikorepo.netfuse.cn/cicd/kaniko:v1.6.0kaniko构建镜像
ubuntu-amd64repo.netfuse.cn/cicd/ubuntu:18.04dpkg, sshdeb打包,AMD64架构
ubuntu-aarch64repo.netfuse.cn/cicd/ubuntu:bionic-arm64dpkg, sshdeb打包,ARM64架构
deployercentos-amd64repo.netfuse.cn/cicd/centos:7rpm-build, make, ssh, argocd, kubectlrpm打包,AMD64架构
releaserrepo.netfuse.cn/cicd/ubuntu:18.04dpkg, ssh发布、推文件、部署等

以上就是GitLab Pipeline规范及流程触发详解的详细内容,更多关于GitLab Pipeline规范的资料请关注脚本之家其它相关文章!

相关文章

  • 阿里云ECS云服务器快照概念及使用教程

    阿里云ECS云服务器快照概念及使用教程

    这篇文章主要介绍了阿里云ECS云服务器快照概念以及使用,阿里云快照服务相当于一种数据备份手段,可以为所有类型的ECS云盘创建快照,用于备份或者恢复云盘的数据,是一种高效的数据容灾手段,需要的朋友可以参考下
    2022-04-04
  • DNSlog外带原理及注入分析(最新推荐)

    DNSlog外带原理及注入分析(最新推荐)

    DNS的全称是Domain Name System(网络名称系统),它作为将域名和IP地址相互映射,使人更方便地访问互联网,最近一直听到DNSlog外带原理等词但对其原理一直只是自己的理解(回显DNS请求后的日志)并没有真正的了解过,所以这里做一下记录,感兴趣的朋友一起看看吧
    2024-01-01
  • koa TS ESLint搭建服务器重构版过程详解

    koa TS ESLint搭建服务器重构版过程详解

    这篇文章主要为大家介绍了koa TS ESLint搭建服务器重构版过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • WampServer下如何配置多域名

    WampServer下如何配置多域名

    这篇文章主要介绍了WampServer下如何配置多域名的相关资料,需要的朋友可以参考下
    2015-10-10
  • 服务器之间文件备份方案、如何把服务器文件自动备份到另外一台服务器?

    服务器之间文件备份方案、如何把服务器文件自动备份到另外一台服务器?

    很多单位都有文件服务器备份的需求,并且常常是把一个服务器的文件自动备份到另外一台文件服务器,下面就跟随小编一起来了解一下
    2019-05-05
  • 详解百度https认证提示"请将您的http站点301重定向到https站点"的解决办法

    详解百度https认证提示"请将您的http站点301重定向到https站点"的解决办法

    对于301重定向这一概念玩SEO的同志们都不陌生了,近些年来https协议越来越火,百度大大已经明确了对https的扶持政策,这篇文章主要介绍了详解百度https认证提示"请将您的http站点301重定向到https站点"的解决办法,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • windows安装OpenSSL的方法小结

    windows安装OpenSSL的方法小结

    openssl是一个强大的安全套接字密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其他目的使用
    2023-09-09
  • Git发现git push origin master 报错的解决方法

    Git发现git push origin master 报错的解决方法

    本篇文章主要介绍了Git发现git push origin master 报错的解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • nexus服务器搭建的详细步骤

    nexus服务器搭建的详细步骤

    这篇文章主要介绍了nexus服务器搭建的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Hadoop SSH免密码登录以及失败解决方案

    Hadoop SSH免密码登录以及失败解决方案

    这篇文章主要介绍了Hadoop SSH免密码登录以及失败解决方案的相关资料,需要的朋友可以参考下
    2016-12-12

最新评论