当前位置: 首页 > news >正文

jenkins 在pinline克隆代码的两种方式

在pinline克隆代码的两种方式

  • 1.pipline语法直接实现方式
    • 1.1例子1
    • 1.2例子2
  • 2.jenkins pinline 流水线中调用 shell脚本方式

jenkins搭建流水线从拉取代码开始其实是最正规的方式,但是如何拉取有多种方式
可以用jenkins的插件以钩子的形式,也可以在pipline脚本中实现,今天介绍两种 pipline方式实现拉取代码的方式。

1.pipline语法直接实现方式

1.1例子1

pipeline {agent anystages {stage('Project1'){steps{cleanWs()dir('project1') {// Doing your project 1 stuffgit(url: 'https://github.com/xxx/proj1.git', branch: 'main')}}}stage('Project 2'){steps{dir('project2') {// Doing your project 2 stuffgit(url: 'https://github.com/xxx/proj2.git', branch: 'dev')}}}stage('Something Else'){steps{sh 'ls -al'         }}}
}

1.2例子2

pipeline {agent anystages {stage('Project1'){steps{cleanWs()echo "Let's move proj 1 stuff to a sub dir"sh '''mkdir project1shopt -s extglob dotglobmv !(project1) project1'''}}stage('Project 2'){steps{dir('project2') {// Doing your project 2 stuffgit(url: 'https://github.com/xxx/proj2.git', branch: 'main')}}}stage('Something Else'){steps{sh 'ls -al'               }}}
}

2.jenkins pinline 流水线中调用 shell脚本方式

这种方式需要服务器预先安装好了git

pipline中调用shell脚本

def CustomizeRepos = ''
def Baseline = 'false'
def VersionInfo=''
def testMessage=''
def Pr_CustomizeRepos = ""pipeline {agent {label 'le-node'}parameters {string(name: 'BRANCHNAME', defaultValue: 'develop', description: '代码分支名称')}environment {JENKINS_NODE_COOKIE = 'dontKillMe'project_path = '/automation/code/'pipeline_git_tool = '/automation/scripts/build_gitclone.sh'url = 'https://gitee.com/burebaobao/tscancode-master.git'}stage("下载平台代码") {steps {script {echo "开始克隆代码"sh "cd ${project_path}"// 调用脚本sh "${env.pipeline_git_tool} '${project_path}' '${BRANCHNAME}' '${url}'"}}}}

所调用的shell脚本

#!/bin/bash#########################################
#代码clone脚本
#参数:
# path 代码存储路径
# branch 代码分支名
# url 地址
##########################################参数判断 
if [ $# != 3 ]; thenecho "参数输入错误,输入必须包括path、Branch、url参数!"exit -1
fipath=$1
branch=$2
url=$3echo "开始"
echo "切换路径到 $path"
cd ${path}echo "克隆的代码分支为 ${branch}"mcd="git clone -b ${branch} --single-branch https://gitee.com/burebaobao/tscancode-master.git"
git clone -b ${branch} --single-branch ${url}

相关文章:

jenkins 在pinline克隆代码的两种方式

在pinline克隆代码的两种方式 1.pipline语法直接实现方式1.1例子11.2例子2 2.jenkins pinline 流水线中调用 shell脚本方式 jenkins搭建流水线从拉取代码开始其实是最正规的方式,但是如何拉取有多种方式 可以用jenkins的插件以钩子的形式,也可以在piplin…...

Python入门【​编辑、组合、设计模式_工厂模式实现 、设计模式_单例模式实现、工厂和单例模式结合、异常是什么?异常的解决思路 】(十七)

👏作者简介:大家好,我是爱敲代码的小王,CSDN博客博主,Python小白 📕系列专栏:python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 📧如果文章知识点有错误…...

65 # 实现 http-server 里的 gzip 压缩

用 zlib 来实现 gzip 压缩 服务端优化都是:压缩 缓存 前端可以通过 webpack 插件进行压缩 gzip 根据替换来实现的,重复率越高,压缩后的结果越小 const zlib require("zlib"); const fs require("fs"); const path …...

点成分享丨qPCR仪的原理与使用——以Novacyt产品为例

近年来,PCR检测在多种领域发挥着巨大的作用。短时高效和即时监测都成为了PCR仪发展的方向。作为世界领先的制造商之一,Novacyt公司为来自全球多个国家和行业的用户提供了优质的qPCR仪。 MyGo Mini S qPCR仪是一种紧凑型的实时qPCR仪,非常适合…...

Postman如何做接口测试

目录 Postman如何做接口测试1:如何导入 swagger 接口文档 Postman如何做接口测试2:如何切换测试环境 Postman如何做接口测试3:什么?postman 还可以做压力测试? Postman如何做接口测试4:如何自动添加请求…...

每天一道leetcode:剑指 Offer 32 - II. 从上到下打印二叉树 II(适合初学者)

今日份题目: 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 示例 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], […...

vue动态生成行

vue代码 <el-table :data"form.lineInfos" :bordertrue style"width: 99.99%;"> <el-table-column type"index" label"序号" width"50"></el-table-column> <el-table-column prop"unitPrice&qu…...

IPC之一:使用匿名管道进行父子进程间通信的例子

IPC 是 Linux 编程中一个重要的概念&#xff0c;IPC 有多种方式&#xff0c;本文主要介绍匿名管道(又称管道、半双工管道)&#xff0c;尽管很多人在编程中使用过管道&#xff0c;但一些特殊的用法还是鲜有文章涉及&#xff0c;本文给出了多个具体的实例&#xff0c;每个实例均附…...

前端将页面转化为图片---进行下载导出、打印等功能

1.需要实现一个将div页面的东西导出,使用到了html2canvas 官网&#xff1a; 配置型 | HTML2CANVAS 中文文档 (allenchinese.github.io) 2.下载html2canvas npm install --save html2canvas 3.导入使用到的页面 import html2canvas from html2canvas 4.创建图片基础应用 …...

docker安装code-service在线开发vscode工具及node版本过低问题

docker安装code-service 拉去镜像 docker pull codercom/code-server创建项目存放映射路径 mkdir /data/code-service/project运行 这里不唯一&#xff0c;但注意密码 docker run -itd --name code-service -u root -p 1024:8080 -v /data/code-service/project:/home/cod…...

C++ 多态深入解析

文章目录 前言一、什么是多态二、如何实现多态三、代码讲解四、静态联编&#xff0c;动态联编总结 前言 在C编程中&#xff0c;多态性&#xff08;Polymorphism&#xff09;是一种重要的概念&#xff0c;它允许基于对象的实际类型来调用不同的函数。多态性提供了灵活性和可扩展…...

C#使用EmguCV播放视频

目录 一、前言 1、简介 2、测试工程代码下载链接 3、EmguCV 库文件下载链接 二、工程环境配置 1、EmguCV控件添加引用 &#xff08;1&#xff09;窗口控件添加 &#xff08;2&#xff09;相关Dll文件添加添加引用 &#xff08;3&#xff09;工程运行基础文件夹添加 &a…...

LeetCode150道面试经典题-买卖股票的最佳时机(简单)

1、题目 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的…...

【积水成渊】CSS磨砂玻璃效果和渐变主题色文字

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 lqj_本人_python人工智能视觉&#xff08;opencv&#xff09;从入门到实战,前端,微信小程序-CSDN博客 最新的uniapp毕业设计专栏也放在下方了&#xff1a; https://blog.csdn.net/lbcyllqj/category_12346639.html?spm1…...

JVM、JRE、JDK三者之间的关系

JVM、JRE和JDK是与Java开发和运行相关的三个重要概念。 再了解三者之前让我们先来了解下java源文件的执行顺序&#xff1a; 使用编辑器或IDE(集成开发环境)编写Java源文件.即demo.java程序必须编译为字节码文件&#xff0c;javac(Java编译器)编译源文件为demo.class文件.类文…...

input 标签的 type 属性有哪些值?分别表示什么意思?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ type值以及作用⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端…...

(十五)大数据实战——hive的安装部署

前言 Hive是由Facebook开源&#xff0c;基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张表&#xff0c;并提供类SQL查询功能。本节内容我们主要介绍一下hive的安装与部署的相关内容。 正文 上传hive安装包到hadoop101服务器/opt/software目录 解…...

MySQL安装和卸载

1.MySQL概述 MySQL概述 MySQL是一个[关系型数据库管理系统]&#xff0c;由瑞典MySQL AB 公司开发&#xff0c;2008年被sun公司收购&#xff0c; 2009sun又被oracle收购&#xff0c;所以属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一&#xff0c;在 WEB 应用…...

ELK、ELFK日志分析系统

菜单一、ELK简介1.1 ELK组件说明1.1.1 ElasticSearch1.1.2 Kiabana1.1.3 Logstash 1.2 可以添加的其它组件1.2.1 Filebeat1.2.2 缓存/消息队列&#xff08;redis、kafka、RabbitMQ等&#xff09;1.2.3 Fluentd 1.3 为什么要用ELK1.4 完整日志系统的基本特征1.5 ELK 的工作原理 …...

JVM基础篇-StringTable

StringTable 特性 常量池中的字符串仅是符号&#xff0c;第一次用到时才变为对象 利用串池的机制&#xff0c;来避免重复创建字符串对象 字符串变量拼接的原理是 StringBuilder &#xff08;1.8&#xff09; 字符串常量拼接的原理是编译期优化 可以使用 intern 方法&#…...

ApiPost实战指南:从接口创建到自动化测试的全流程解析

1. 从零开始创建你的第一个API接口 作为一个常年和API打交道的开发者&#xff0c;我深知新手第一次接触接口工具时的迷茫。ApiPost作为一款国产的API开发工具&#xff0c;用起来确实比Postman更顺手&#xff0c;特别是对中文用户特别友好。下面我就带你一步步创建第一个接口&am…...

深度解析IDM激活脚本:注册表锁定技术的完整实现指南

深度解析IDM激活脚本&#xff1a;注册表锁定技术的完整实现指南 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script Internet Download Manager&#xff08;IDM&…...

短剧小程序源码:打造你的专属短剧平台

温馨提示&#xff1a;文末有资源合作获取方式&#xff5e;一、市场前景&#xff1a;千亿蓝海&#xff0c;风口正当时“昨晚又为一部短剧熬夜了&#xff01;”这已成为当代年轻人的日常。3分钟一集&#xff0c;连续反转&#xff0c;极致爽点——短剧正以惊人的速度占领我们的碎片…...

LangChain4j vs Spring AI:Java AI 框架技术选型深度对比与生产落地指南

LangChain4j vs Spring AI:Java AI 框架技术选型深度对比与生产落地指南 摘要:当 Java 团队建设 AI 应用时,真正困难的通常不是“能否调通模型”,而是“如何把 Prompt、RAG、工具调用、可观测性、限流熔断、灰度发布、权限隔离与业务系统稳定地耦合起来”。本文不再停留在 …...

如何通过WebGLInput彻底解决Unity WebGL平台的输入法兼容性问题

如何通过WebGLInput彻底解决Unity WebGL平台的输入法兼容性问题 【免费下载链接】WebGLInput IME for Unity WebGL 项目地址: https://gitcode.com/gh_mirrors/we/WebGLInput 你是否曾尝试在Unity WebGL应用中实现中文输入&#xff0c;却发现输入法无法正常工作&#xf…...

别再死记硬背了!用HuggingFace Diffusers库5分钟搞懂Stable Diffusion的VAE、U-Net和CLIP怎么协同工作

5分钟透视Stable Diffusion核心组件&#xff1a;用HuggingFace Diffusers实战VAE/U-Net/CLIP协同机制 当你在HuggingFace Diffusers库中第一次调用StableDiffusionPipeline时&#xff0c;是否好奇过那段简短的文本提示如何变成精美图像&#xff1f;这背后是VAE、U-Net和CLIP三…...

从零配置YOLOv5与RealSense D405:深度测距与目标检测的完整流程指南

从零构建YOLOv5与RealSense D405的智能视觉系统&#xff1a;深度感知与目标检测实战手册 当计算机视觉遇上深度感知&#xff0c;会碰撞出怎样的火花&#xff1f;YOLOv5作为当前最流行的实时目标检测框架&#xff0c;与Intel RealSense D405深度相机结合&#xff0c;能够为机器…...

新手福音:免安装claude code,在快马平台开启你的ai编程第一课

作为一个刚接触编程的新手&#xff0c;最近想尝试用AI辅助写代码&#xff0c;但光是安装本地工具就让我头疼不已。直到发现了InsCode(快马)平台&#xff0c;才发现原来AI编程可以这么简单——不用配环境、不用解决依赖冲突&#xff0c;打开网页就能直接开玩。今天就把我的入门体…...

Qwen3.5-4B-Claude-Opus部署教程:模型路径软链失效时的容错加载机制

Qwen3.5-4B-Claude-Opus部署教程&#xff1a;模型路径软链失效时的容错加载机制 1. 模型概述 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF是基于Qwen3.5-4B的推理蒸馏模型&#xff0c;特别强化了结构化分析、分步骤回答以及代码与逻辑类问题的处理能力。该版本以GG…...

SGMICRO圣邦微 SGM6512YTS28G/TR TDFN-8L(2x2) 模拟开关/多路复用器

特性 典型导通电阻240120开路电阻平坦度3.3V至6V双电源供电操作3.3V至13.2V单电源工作电压-3dB带宽:70MHz轨到轨操作提供绿色TQFN-5x5-32L和TSSOP-28封装 工作温度范围:-40C至85C...