jenkins共享库配置及设计

  • jenkins共享库做模块封装时遇到的问题总结:
    背景描述:使用jenkins共享库对SCM subversion操作进行封装时,使用了Checkout插件,生成的检出脚本代码为
checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[credentialsId: CRED_ID, depthOption: 'infinity',ignoreExternalsOption: true, local: checkout_local_path, remote: repo_url]], workspaceUpdater: [$class: 'UpdateUpdater']]
)

把它封装到jenkins共享库的vars目录下边的scm_svn_checkout.groovy文件里,传参形式及代码demo为:
注意):(文件名scm_svn_checkout.groovy名字不能和调用的checkout()方法同名)不然构建时jenkins会报ERROR:hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: checkout.call() is applicable for argument types.)

def call(String CRED_ID,String checkout_local_path,String repo_url) {checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[credentialsId: CRED_ID, depthOption: 'infinity',ignoreExternalsOption: true, local: checkout_local_path, remote: repo_url]], workspaceUpdater: [$class: 'UpdateUpdater']])
}

jenkinsfile写法:

@Library('my-shared-library') _
pipeline {agent {label "test"}stages {stage('Checkout') {steps {scm_svn_checkout.call("aaaaa","bbbbb","ccccc")}}}
}

project repository base:
http:aa/bb/usvn/test_1
default version:branches/test/share_library,下边是src和vars
jenkins关于共享库配置时,

  1. 如果Default version写到了共享库这一层就可以加载到共享库的代码。共享库这一层是指vars,src所在的目录。
  2. 如果Default version写到了共享库层级的上(前)某一层,就需要在Library Path(Optional)这里以相对路径形式test/share_library拼接default version:branches.也可以获取到共享库代码。
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/5a305adc80694d4381cbcbc5088abc68.png#pic_center

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/5901.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C#】并行编程实战:实现数据并行(2)

本章继续学习实现数据并行,本文主要介绍任务并行度和自定义分区策略相关内容。 本教程对应学习工程:魔术师Dix / HandsOnParallelProgramming GitCode 2、任务并行度 数据并行设计在系统的多个内核上以并行方式运行循环所带来的的优势&#xff…

mac苹果电脑,怎么批量修改文件名称

mac苹果电脑,如何批量修改文件名称?在苹果电脑上对文件名称进行修改是一件非常简单的操作,相信任何mac电脑用户都知道怎么操作,只需要选中要修改名称的文件,然后点击鼠标右键,然后会弹出一个菜单&#xff0…

基于 FFmpeg 的跨平台视频播放器简明教程(四):像素格式与格式转换

系列文章目录 基于 FFmpeg 的跨平台视频播放器简明教程(一):FFMPEG Conan 环境集成基于 FFmpeg 的跨平台视频播放器简明教程(二):基础知识和解封装(demux)基于 FFmpeg 的跨平台视频…

(五)Qt 动态手势识别“左右滑动”以及实现翻页效果

系列文章目录 通过Qt实现手势识别控制软件操作相关系列技术方案 (一)Qt 将某控件、图案绘制在最前面的方法,通过QGraphicsScene模块实现 (二)Qt QGraphicsScene模块实现圆点绘制在所有窗体的最前方,实现圆…

Git快速入门

Git 1、Git概述Git简介Git下载与安装 2、Git代码托管服务常用的Git代码托管服务使用码云托管服务 3、Git常用命令Git全局设置获取Git仓库工作区、暂存区、版本库概念本地仓库常用命令远程仓库操作命令分支操作标签操作 4、在IDEA中使用Git在IDEA中配置Git获取Git仓库本地仓库操…

【ISO26262】汽车功能安全:以汽车安全完整性等级为导向和以安全为导向的分析

关于 ASIL剪裁的要求分解 表 A.1 以汽车安全完整性等级为导向和以安全为导向的分析的概览

Vue常见面试题整理

一、对于MVVM的理解? MVVM是Model-View-ViewModel的缩写。 Model:代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。View:代表UI组件,它负责将数据模型转化成UI展现出来。ViewModel:监听模型数…

vue点击盒子一步一步滚动

vue点击盒子一步一步滚动 HTML <div class"course_detail"><div class"arrow" v-if"index 0" click"step"></div><div class"lightArrow" v-else click"step"></div><div clas…

打造专属个人模型-私有独立离线模型部署-阿里云GPU服务器配置

阿里云有免费的机器学习 GPU 服务器&#xff0c;免费试用活动页https://free.aliyun.com只要没有申请过 PAI-DSW 资源的新老用户皆可申请 5000CU 的免费额度&#xff0c;3个月内使用。 选择第一个进行立即试用 可以看到试用的界面 如果遇到下面的错误&#xff0c;当前账号没有权…

hydra的简单使用

Hydra是一款开源的暴力PJ工具&#xff0c;集成在kali当中。 参数功能-l指定用户名-p指定密码-L指定用户名字典-P指定密码字典-C指定所用格式为“user:password”的字典文件-en null&#xff0c;表示尝试空密码-es same&#xff0c;把用户名本身当做密码进行尝试-er 反向&#…

使用gitlab 自带 CI/CD 构建部署项目

首先是处理网络问题 这里我用的是桥接模式 桥接模式方便局域网内的小伙伴一起使用 如果没有这个打算可跳过这步 # 使用ip addr 查看网络 ip addr编辑网络 vi /etc/sysconfig/network-scripts/ifcfg-你的网络名称 vi /etc/sysconfig/network-scripts/ifcfg-ens33修改如下内容 B…

深度:全面解析数据智能的金融“炼金术”!

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 金融以其财富效应&#xff0c;成为最新科技的试金石。一项新技术出来后&#xff0c;人们首先闪过的念头就是“能不能用它赚钱”。例如&#xff0c;ChatGPT带火了大模型&#xff0c;人们也开始将目标聚焦到大模型在金融领域的…