GitLab?Pipeline规范及流程触发详解(gitlab pull)真没想到

随心笔谈12个月前发布 admin
92 0



目录一、涉及概念二、Pipeline流程触发三、配置说明四、共享Runner

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

触发角色触发动作目标分支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对于所有项目是可见的,可通过tag来指定特地功能的Runner

tag默认镜像包含功能描述mavenrepo.netfuse.cn/cicd/maven:jdk-8maven3, jdk8, ssh构建Javanoderepo.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规范的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:gitlab?ci?cd?命令的使用不完全指南SpringCloudGateway?Nacos?GitlabRunner全自动灰度服务搭建发布Terraform集成简单Gitlab?CI方案详解Rainbond云原生快捷部署生产可用的Gitlab步骤详解

© 版权声明

相关文章