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

这篇具有很好参考价值的文章主要介绍了持续集成交付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”,下载插件

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(2)安装

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(3)流水线配置jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(4)构建起配置

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(5)控制台输出

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

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(从节点)运行

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(3)开始远程构建jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(4)构建成功jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

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

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

用postman  , add New Request 

(2)postman 添加request

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(2)postman自动生成jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

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

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(4) 添加账户及密码

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(5)点击send发送jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(6)开始远程构建

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(7)控制台查看jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(8)远程构建完成jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

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

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

python调取:用postman  , add New Request  ,code转换python requests

#代码
import requests

url = "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代码

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(3)python运行

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

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

python代码

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(4)开始远程构建

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(5)远程构建中

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(6)远程构建完成

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

二、问题

1.pipeline插件依赖安装报错

(1) 报错

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(2)原因分析

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

(3)解决方法

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

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

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

(1)报错

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linuxjenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(2)原因分析

环境名重复

(3)解决方法

修改环境名

修改前:

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

修改后:

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

成功:

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

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

(1)问题

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

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux第二个job 对应一个/var/lib/jenkins/workspace/buildpipeline@2

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

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

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux

(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 编码表

jenkins 触发远程构建,持续集成交付CICD,ci/cd,jenkins,linux文章来源地址https://www.toymoban.com/news/detail-776201.html

到了这里,关于持续集成交付CICD:Jenkins Pipeline与远程构建触发器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 持续集成交付CICD:基于ArgoCD 的GitOps 自动化完成前端项目应用发布与回滚

    目录 一、实验 1. 环境 2. K8S master节点部署Argo CD 3.基于ArgoCD 实现GitOps (同步部署文件) 4.基于ArgoCD 实现GitOps (同步HELM文件) 二、问题 1. ArgoCD 连接K8S集群状态为 Unknown 2.ArgoCD 创建application失败 3. curl命令 (1)主机 表1 主机 主机 架构 版本 IP 备注 master1 K8S master节点 1.20.6 1

    2024年02月03日
    浏览(49)
  • 持续集成(CICD)- Jenkins+Git+gogs综合实战(笔记一)

    目录续集---- 下面内容见:持续集成(CICD)- Jenkins+Git+gogs综合实战(笔记二) 七、拉取代码 方法一:直接填写命令进行拉取(不建议用这种) 方法二:使用源码管理拉取代码 步骤一:确认环境(检查自己是否有Git插件) 步骤二:构建项目时对项目的源码管理选择 Git 步骤三

    2024年03月12日
    浏览(47)
  • 云原生系列2-CICD持续集成部署-GitLab和Jenkins

    1、CICD持续集成部署 持续集成:简称 CI 思想:每天要多次将代码合并到主干,并进行集成,测试,这样就可以提早发现错误,进行修正。持续集成也属于DevOps运维开发。 CI持续集成的好处: 1、自动化集成部署,提高了集成效率。 2、更快的修复问题。 3、更快的进行交付。

    2024年02月02日
    浏览(42)
  • 《Docker与持续集成/持续部署:构建高效交付流程,打造敏捷软件交付链》

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月15日
    浏览(60)
  • 【Jenkins】持续集成与交付 (六):Gitlab代码托管服务安装

    💖The Begin💖点点关注,收藏不迷路💖

    2024年04月28日
    浏览(39)
  • Jenkins持续集成、持续部署(CICD)-尚硅谷(含自己整理的前端、后端项目部署详细步骤)

    在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试;或者前后端分离后,经常会修改接口,然后重新部署;这些情况都会涉及到频繁的打包部署; 手动打包常规步骤: 1.提交

    2024年02月03日
    浏览(59)
  • 这才是自动化测试,资深测试构建持续交付体系(高质量)持续集成...

    软件测试-自动化测试 Python自动化测试:https://www.bilibili.com/video/BV16G411x76E/ 无论是保障质量,还是提升效率,都需要某些持续的能力来支撑他们。 这种支撑能力,可以看作是一种工厂化的流水线能力,业内通常将其统称为持续交付。 从质量保障的角度总体来说,可以将其分为

    2024年02月05日
    浏览(53)
  • (十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目

    本节内容我们使用另外一种方式pipeline实现项目的流水线部署发布,Jenkins Pipeline是一种允许以代码方式定义持续集成和持续交付流水线的工具。通过Jenkins Pipeline,可以将整个项目的构建、测试和部署过程以脚本的形式写入Jenkinsfile中,实现对整个流程的可视化管理和控制。在

    2024年02月21日
    浏览(58)
  • 『DevOps最佳实践』使用Jenkins和Harbor进行持续集成和交付的解决方案

    📣读完这篇文章里你能收获到 全文采用图文形式讲解 学会使用Harbor配置项目 学会在Jenkins中配置Harbor推送权限 使用Jenkins和Harbor进行持续集成的实践 感谢点赞+收藏,避免下次找不到~ 在现代软件开发中,自动化部署是提高效率和可靠性的关键。本文将带你深入探索如何使用

    2024年02月08日
    浏览(55)
  • k8s的jenkins部署java项目到k8s集群cicd持续集成

    k8s1.16.0-k8s的jenkins部署java项目到k8s集群cicd(ci成,cd手动部署的) 注意: 本文档只是实现了ci,cd是通过ci生成的镜像,再手工再k8s-master执行的部署(只因pod部署的jenkins连接k8s的认证不知怎么操作,若jenkins是单独部署在k8s-master机器上,能直接在master执行kubectl命令就没这个问题了

    2024年02月03日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包