GitLab?Pipeline規(guī)范及流程觸發(fā)詳解
一、涉及概念
名稱 | 簡(jiǎn)述 |
---|---|
Pipeline | 流水線,用于組織構(gòu)建CI/CD流程,實(shí)現(xiàn)了Pipeline As Code |
Stage | 一條流水線是由多個(gè)階段組成的,每個(gè)階段一個(gè)stage,階段按順序執(zhí)行 |
Job | 每個(gè)階段由多個(gè)Job組成,同個(gè)Stage下的多個(gè)Job可并行執(zhí)行 |
CI/CD variables | CI/CD過程中的環(huán)境變量 |
GitLab Runner | 流水線任務(wù)執(zhí)行者,執(zhí)行定義好的腳步 |
二、Pipeline流程觸發(fā)
觸發(fā)角色 | 觸發(fā)動(dòng)作 | 目標(biāo)分支 | Stage |
---|---|---|---|
項(xiàng)目負(fù)責(zé)人/開發(fā)人員 | merge | develop | 構(gòu)建、測(cè)試、部署開發(fā)環(huán)境 |
項(xiàng)目負(fù)責(zé)人/開發(fā)人員 | merge, commit | test, release/* | 構(gòu)建、測(cè)試、打包、部署測(cè)試環(huán)境 |
項(xiàng)目負(fù)責(zé)人 | tag | master | 構(gòu)建、測(cè)試、打包、預(yù)發(fā)布 |
三、配置說明
GitLab Pipeline是通過解析倉庫根目錄下的.gitlab-ci.yml文件來執(zhí)行流水線任務(wù),常用配置示例如下:
# 緩存定義[可選],用于不同Runner實(shí)例間傳遞構(gòu)建產(chǎn)物 cache: # 關(guān)鍵字,可隔離不同job或stage之間 key: "$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHA" # 需要緩存的路徑/文件 paths: - file - dir/* # stage定義<必填> stages: - build - test - package - release # ... # 定義Job<必填>,名稱可自定義且不能重復(fù) build-dev: # Runner鏡像[可選],指定時(shí)會(huì)覆蓋默認(rèn)鏡像 # image: centos:7 # 指定Runner<必填> tags: - golang-amd64 # 關(guān)聯(lián)的stage<必填> stage: build # 關(guān)聯(lián)的觸發(fā)分支[可選] only: - develop # 任務(wù)腳本【必填】 script: - sh script/build_dev.sh # test階段 test: # ... stage: test # ...
詳見:docs.gitlab.com/ee/ci/yaml/
四、共享Runner
公共Runner對(duì)于所有項(xiàng)目是可見的,可通過tag來指定特地功能的Runner
tag | 默認(rèn)鏡像 | 包含功能 | 描述 |
---|---|---|---|
maven | repo.netfuse.cn/cicd/maven:jdk-8 | maven3, jdk8, ssh | 構(gòu)建Java |
node | repo.netfuse.cn/cicd/node:14.2 | node, yarn, ssh | 構(gòu)建前端 |
golang-amd64 | repo.netfuse.cn/cicd/golang:1.15-amd64repo.netfuse.cn/cicd/golang:1.16-amd64(可選) | go, git, ssh | 構(gòu)建Go,AMD64架構(gòu) |
golang-aarch64 | repo.netfuse.cn/cicd/golang:1.15-aarch64 | go, git, ssh | 構(gòu)建Go,ARM64架構(gòu) |
kaniko | repo.netfuse.cn/cicd/kaniko:v1.6.0 | kaniko | 構(gòu)建鏡像 |
ubuntu-amd64 | repo.netfuse.cn/cicd/ubuntu:18.04 | dpkg, ssh | deb打包,AMD64架構(gòu) |
ubuntu-aarch64 | repo.netfuse.cn/cicd/ubuntu:bionic-arm64 | dpkg, ssh | deb打包,ARM64架構(gòu) |
deployercentos-amd64 | repo.netfuse.cn/cicd/centos:7 | rpm-build, make, ssh, argocd, kubectl | rpm打包,AMD64架構(gòu) |
releaser | repo.netfuse.cn/cicd/ubuntu:18.04 | dpkg, ssh | 發(fā)布、推文件、部署等 |
以上就是GitLab Pipeline規(guī)范及流程觸發(fā)詳解的詳細(xì)內(nèi)容,更多關(guān)于GitLab Pipeline規(guī)范的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
koa?TS?ESLint搭建服務(wù)器重構(gòu)版過程詳解
這篇文章主要為大家介紹了koa?TS?ESLint搭建服務(wù)器重構(gòu)版過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10服務(wù)器之間文件備份方案、如何把服務(wù)器文件自動(dòng)備份到另外一臺(tái)服務(wù)器?
很多單位都有文件服務(wù)器備份的需求,并且常常是把一個(gè)服務(wù)器的文件自動(dòng)備份到另外一臺(tái)文件服務(wù)器,下面就跟隨小編一起來了解一下2019-05-05詳解百度https認(rèn)證提示"請(qǐng)將您的http站點(diǎn)301重定向到https站點(diǎn)"的解決辦法
對(duì)于301重定向這一概念玩SEO的同志們都不陌生了,近些年來https協(xié)議越來越火,百度大大已經(jīng)明確了對(duì)https的扶持政策,這篇文章主要介紹了詳解百度https認(rèn)證提示"請(qǐng)將您的http站點(diǎn)301重定向到https站點(diǎn)"的解決辦法,感興趣的小伙伴們可以參考一下2018-12-12Git發(fā)現(xiàn)git push origin master 報(bào)錯(cuò)的解決方法
本篇文章主要介紹了Git發(fā)現(xiàn)git push origin master 報(bào)錯(cuò)的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11