找回密码
 立即注册
搜索

git代码库拉取插件

sx_lityliao 2024-7-9 14:18:22
插件类别 SCM
插件分类 产品
插件标识 git
兼容DevOps版本 v7.0 v6.2 v6.0 
概述 通用git代码库拉取插件
v6.0下载
https://devops-bkrepo.canway.net/generic/j98808/plugin/v6.0%2Fgit.zip?download=true
v7.0下载
ttps://devops-bkrepo.canway.net/generic/j98808/plugin/v7.0%2Fgit_7.0.30.tar.gz?download=true

一.插件概述

1.插件名称

通用git代码库拉取插件


2.核心价值

支持快速拉取常用的git代码库至流水线,屏蔽不同平台(GitLab/GitHub/Gitee/Bitbucket等)的差异,提供灵活的分支/标签/提交拉取策略。


3.适应版本

适配 DevOps平台6.0及以上稳定版本


二.核心使用场景

该插件旨在解决流水线中多源、多策略、高效率的代码获取需求,典型场景包括:


  • Git平台代码聚合构建

    例如:同时使用多个Git平台(如GitLab/GitHub/Gitee/Bitbucket等),流水线需根据环境变量动态拉取对应代码。通过插件统一拉取 GitHub、GitLab等代码,利用 “按分支 / 标签类型流水线变量输入”,配置变量名,流水线运行时自动读取变量值,并根据选择的拉取策略,拉取对应代码。


三.详细使用手册

1.前提条件

  • 已在 DevOps平台6.0及以上版本中安装 “git代码库拉取” 插件;

  • (选择devops)先在平台的代码库中关联代码库

image.png

2.操作流程

在流水线编排中,使用“git代码库拉取”插件,根据代码仓库来源可分为以下两种情况:

  • 手动输入URL

Step1:选择【仓库来源】为URL,并填入要拉取的代码库

image.png

  • 从Devops平台拉取

(1)按代码库选择

Step1:选择【仓库来源】为Devops,【代码库】按代码库选择,其他信息如图:

image.png


(2)按代码库别名选择(可使用变量进行传参)

Step1:先在【流水线变量】点击【添加变量】,设置一个类型为“代码库”的变量,

image.png


Step2:在流水线中添加【git代码库拉取插件】, 选择【仓库来源】为Devops,【代码库】选择按代码库别名输入,并填写以上添加的变量名,其他信息如图:

image.png


Step3:填好信息后 点击执行,开始执行之前下拉选择对应的代码库

image.png


(3)按分支类型流水线变量输入(须先添加流水线变量)

Step1:先在【流水线变量】添加类型为“代码分支”的变量

image.png


Step2:在流水线中添加【git代码库拉取插件】,选择【仓库来源】为Devops,【代码库】选择按分支类型输入,并填写以上添加的变量名,其他信息如图:

image.png


Step3:填好信息后 点击执行,开始执行之前下拉选择代码分支

image.png


(4)按标签类型流水线变量输入(须先添加流水线变量)
Step1:在【流水线变量】点击【添加变量】,设置一个类型为“代码标签”的变量

image.png


Step2:流水线中添加【git代码库拉取插件】,选择【仓库来源】为Devops,【代码库】选择按输入,并填写以上添加的变量名,其他信息如图:

image.png


Step3:填好信息后 点击执行,开始执行之前下拉选择代码分支

image.png


以上若采用高级模式,则进一步补充以下信息,假设现只想拉取以上代码库下/uitest路径的代码,但不想要拉取/uitest的resources文件:

image.png


【补充信息】git原生支持的参数/命令,按需勾选

git fetch的
depth参数

用于限制获取历史记录的深度,只拉取最近指定数量的提交记录

拉取策略

  • Revert Update:增量拉取,每次先git reset--head, 再git pull,增量拉取并会清除冲突和历史缓存文件,若是新建的文件夹则不会被删除

  • Fresh Cheackout:全量拉取,先删除原有代码再clone,清除整个工作空间然后全量拉取,对需要多次执行的流水线会影响其构建时间

  • Increment Update:增量拉取,只使用 git pull,不清除冲突及历史缓存数据

启用Submodule

勾选是否启用Submodule

(Submodule 是指将两个有依赖关系的代码库进行合并后出包,将其中一个代码库作为另一个代码库的子模块;)

执行git submodule update后是否带上-remote参数

若启用Submodule,可勾选;
若勾选,将更新子模块为远程项目的最新版本

MR事件触发时执行Pre-Merge

检测代码合并时是否会冲突,MR事件触发时尝试Merge源分支到目标分支,冲突将直接判定为失败

是否开启
AutoCrlf

选中则执行git config core.autocrlf true,否则为false

是否开启
Git Clean

选中则执行git clean,删除未进行版本管理的文件

您需要登录后才可以回帖 立即登录
共收到 0 条点评
返回顶部