持续集成交付CICD:Jenkins Pipeline与远程构建触发器

目录

一、实验

1.Jenkins Pipeline本地构建触发器

2.Jenkins Pipeline与远程构建触发器(第一种方式)

3.Jenkins Pipeline与远程构建触发器(第二种方式)

4.Jenkins Pipeline与远程构建触发器(第三种方式)

二、问题

1.pipeline插件依赖安装报错

2.控制台输出环境变量名冲突

3.并行构建job存在数据偏差

4.Base64编码如何构成


一、实验

1.Jenkins Pipeline本地构建触发器

(1)搜索“pipeline”,下载插件

(2)安装

(3)流水线配置

(4)构建起配置

(5)控制台输出

2.Jenkins Pipeline与远程构建触发器(第一种方式)

(1)第一种方式:http标准传值方式

#加双引号,否则会识别成shell里的后台进程&
curl -u账户:密码 "http://192.168.204.15:8080/job/buildpipeline/buildWithParameters?token=devops&Version=1.1.8&EnvType=prod"   

(2)构建远程触发命令

本次命令在jenkins slave(从节点)运行

(3)开始远程构建

(4)构建成功

3.Jenkins Pipeline与远程构建触发器(第二种方式)

(1)第二种方式:postman方式

用postman  , add New Request 

(2)postman 添加request

(2)postman自动生成

(3)添加基本认证(Basic Auth)

(4) 添加账户及密码

(5)点击send发送

(6)开始远程构建

(7)控制台查看

(8)远程构建完成

4.Jenkins Pipeline与远程构建触发器(第三种方式)

(1)第三种方式:python方式

python调取:用postman  , add New Request  ,code转换python requests#代码
import requestsurl = "http://192.168.204.15:8080/job/buildpipeline/buildWithParameters?token=devops&Version=1.1.8&EnvType=prod"payload = {}
headers = {'Authorization': 'Basic XXXXXXXX'    #XXXXXXXX此处应为转换的Base64编码
}response = requests.request("GET", url, headers=headers, data=payload)print(response.text)

(2)postman将http转换python代码

(3)python运行

本次命令在jenkins slave(从节点)运行

python代码

(4)开始远程构建

(5)远程构建中

(6)远程构建完成

二、问题

1.pipeline插件依赖安装报错

(1) 报错

(2)原因分析

部分插件由于缺少依赖无法加载

(3)解决方法

先安装durable-task插件,再安装Nodes and Processes 、Basic Steps等

2.控制台输出环境变量名冲突

(1)报错

(2)原因分析

环境名重复

(3)解决方法

修改环境名

修改前:

修改后:

成功:

3.并行构建job存在数据偏差

(1)问题

第一个job 对应一个/var/lib/jenkins/workspace/buildpipeline

第二个job 对应一个/var/lib/jenkins/workspace/buildpipeline@2

第三个job 对应一个/var/lib/jenkins/workspace/buildpipeline@3

(2)原因分析

对同一pepeline并行多个job,每一个job 对应相同的目录

(3)解决方法

随机生成一个不同的workspace

4.Base64编码如何构成

(1)说明

ASCII 码字符占 8 位二进制,而 Base64 占 6 位,取最小公倍数即为 24,即可以用 4 个 base64 字符去表示 3 个 ASCII 码字符。一个字节 8bit 存在 256 个状态,而一个 Base64 字符只有 64 个状态。 机智的人们于是规定,用每 4 个 Base64 字符去表示 3 个二进制字节,因为:64 * 64 * 64 * 64 = 256 * 256 * 256。 因为,Base64 将三个字节转化成四个字节,因此 Base64 编码后的文本,会比原文本大出三分之一左右。选出 64 个字符——大写字母 A-Z、小写字母 a-z、数字 0-9、符号 "+"、"/"(再加上作为垫字的 "=",实际上是 65 个字符,垫字是当生成的 Base64 字符串的个数不是 4 的倍数时,添加在尾部的字符),作为一个基本字符集。然后,其他所有符号都转换成这个字符集中的字符。

(2)举例

字符串 ABC,对应的二进制序列为 01000001 01000010 01000011,按 6 位分组后为 010000 010100 001001 000011,根据编码表得到Base64 字符串 QUJD。

(3)Base64 编码表

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

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

相关文章

pytorch 学习率衰减策略

##学习率衰减策略 import torch.nn.functional as F import torch import torch.nn as nn import matplotlib.pyplot as plt#初始化模型 class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.conv1 = nn.Conv2d(1, 10, kernel_size=5)self.conv2 = nn.Co…

3.JMeter高级使用-让你与众不同

目录 概述插件下载与安装插件下载配置插件 服务器硬件资源监控(精简版)配置服务端代理JMeter配置监控CPU监控网络 JMeter下载结束 概述 今日目标: 插件下载与安装Basic Graphs 主要点 Average Response Time 平均响应时间Active Threads 活动线程数Successful/Fai…

windows11使用docker部署安装minio

时间 2023-11-08 windows11使用docker部署安装minio 目录 1.docker 下载镜像2.docker安装镜像3.访问控制台4.安装问题解决5.使用教程 1.docker 下载镜像 调整镜像源到国内,否则会很慢 docker pull minio/minio2.docker安装镜像 设置用户名和密码时需要注意&…

闪客网盘系统源码,已测试对接腾讯COS及本地和支付(支持限速+按时收费+文件分享+可对接易支付)- 修复版

正文概述 资源入口 支持对文件下载限速 对接易支付 推广赚钱啥的功能 源码非常的好 支持腾讯cos 阿里云cos 本地储存 远程存储 源码仅支持服务器搭建 php7.2 伪静态thinkphp 运行目录public 导入数据库 修改config目录下的database.php数据库信息 后台地址: 域名/ad…

大型企业是否有必要进行数字化转型?_数据治理平台_光点科技

数字化转型是大型企业在现代商业环境中保持竞争力的关键。一开始我们要明确数字化转型指的是利用数字技术来改变企业的业务模式和企业文化,以提高效率和效益。对于大型企业而言,进行数字化转型有着多重必要性。 1.数字化转型可以帮助企业优化内部流程&am…

P02项目诊断报警组件(学习操作日志记录、单元测试开发)

★ P02项目诊断报警组件 诊断报警组件的主要功能有: 接收、记录硬件设备上报的报警信息。从预先设定的错误码对照表中找到对应的声光报警和蜂鸣器报警策略,结合当前的报警情况对设备下发报警指示。将报警消息发送到消息队列,由其它组件发送…

【delphi】中 TNetHTTPClient 注意事项

一、TNetHTTPClient 是什么? 用于管理 HTTP 客户端的组件。相当于indy中的TidHTTP控件,是实现HTTP请求的客户端控件。 二、TNetHTTPClient 需要注意什么? 需要注意的是几个Timeout,因为我们使用TNetHTTPClient控件的时候&#x…

ZooKeeper监控

ZooKeeper Monitor Guide Zookeeper集群进行监控,发现的方案有三种: JMXzookeeper exporterZK Monitor(Since 3.6.0)采用JMX 进行监控,可获取到的指标项不够丰富。Zookeeper Exporter监控可获得的指标项亦不太够丰富。从3.6.0之后,Zookeeper自带的Monitor结合Prometheus、…

JavaScript使用正则表达式

正则表达式(RegExp)也称规则表达式(regular expression),是非常强大的字符串操作工具,语法格式为一组特殊字符构成的匹配模式,用来匹配字符串。ECMAScript 3以Perl为基础规范JavaScript正则表达式,实现Perl 5正则表达式的子集。Ja…

2023年云计算发展趋势:生活的智能未来

目录 引言1 智能家居的崭新时代2 无人驾驶的崭新时代3 虚拟现实的扩展与改进4 人工智能的综合应用5 云计算的可持续性结语 引言 时光荏苒,科技的飞速发展已经成为当今社会的标志之一。在这个数字化时代,云计算已经成为推动技术革新和生活方式改变的关键…

uniapp subNvue 写的视频播放

文件下载地址(没会员的留下邮箱,有空就发过去) https://download.csdn.net/download/weixin_47517731/88500016https://download.csdn.net/download/weixin_47517731/88500016 1:在pages.json中配置视频播放页面 {/* 视频详情页面 */"path": "pag…

力扣每日一题 ---- 2918. 数组的最小相等和

贪心题(吐槽一下,最烦贪心题了,每次遇到没见过的就只能连蒙带骗) 好在本题比较容易发现 数组1 :3 2 0 1 0 数组2 :6 5 0 我们遇到这种题,先将小的凑成相同的,(我们预处理出来两个数组的分别的元素和和0的个…

Flink -- window(窗口)

1、窗口主要分成三大种: 1、Time Window (时间窗口):固定时间触发一次窗口 a、SlidingEventTimeWindows: 滑动的事件时间窗口 public class Demo1TImeWindow {public static void main(String[] args) throws Exception {/*** 时…

vue3+ts 项目遇到的问题和bug

1.router中使用pinia报错 pinia.mjs:1709 Uncaught Error: [🍍]: "getActivePinia()" was called but there was no active Pinia. Are you trying to use a store before calling "app.use(pinia)"? See https://pinia.vuejs.org/core-concep…

python爬虫怎么翻页 ?

首先,你需要安装相关的库。在你的命令行窗口中,输入以下命令来安装所需的库: pip install requests beautifulsoup4然后,你可以使用以下代码来爬取网页内容并翻页: package mainimport ("fmt""net/htt…

ffmpeg 从内存中读取数据(或将数据输出到内存)

1.为了使本文更通俗易懂,更新了部分内容,将例子改为从内存中打开。 2.增加了将数据输出到内存的方法。 从内存中读取数据 ffmpeg一般情况下支持打开一个本地文件,例如“C:\test.avi” 或者是一个流媒体协议的URL,例如“rtmp:/…

【沐风老师】3dMax快速平铺纹理插件QuickTiles教程

QuickTiles是3ds max的一个插件,允许您将常规瓷砖纹理转换为交互式纹理,就在mat.editor中。 换言之,您可以根据需要对任何纹理进行修改和重新创建:更改布局、瓷砖大小、格式、颜色、接缝、体积、随机化形状或纹理等等。 这种方法大…

打造高效的客服体系,就在于这个“专属链接”

想要追踪特定数据,但是得在数据库中大海捞针? 想要知道某个推广的效果,但是无法追踪? 想要获得个性化的报告,但是数据不够精准? 面对这些情况,只需要靠一条“专属链接”就能一一击破&#xff…

qt多线程例子,不断输出数字

dialog.h #include "dialog.h" #include "ui_dialog.h"Dialog::Dialog(QWidget *parent) :QDialog(parent),ui(new Ui::Dialog) {ui->setupUi(this); }Dialog::~Dialog() {delete ui; }// 启动线程按钮 void Dialog::on_startButton_clicked() {//conn…

C#解析XML并反序列化为Model的方法

虽然现在json大行其道,但是xml格式依旧占据着广阔的编程世界,不管光伏锂电激光卫星汽车等等工业领域,基本上都是以xml为主,广大的.NET开发人员有很多被xml折磨的都要转java了,这篇小作文就来玩一种迅速完成xml到model的…