jenkins共享ci阶段

主流CI工具对比:GitHub Action、Jenkins与GitLab CI选型指南 持续集成(CI)是现代软件开发的核心实践,通过自动化构建、测试和部署流程显著提升交付效率。其技术原理是基于版本控制系统的事件触发机制,配合分布式执行环境实现快速反馈。在云原生和微服务架构普及的今天,选择合适的CI工具直接影响团队研发效能。主流方案中,GitHub Action以轻量级和云原生见长,Jenkins凭借强大插件生态满足企业级定制需求,GitLab CI则提供从代码托管到部署的一体化体验。工程实践中需要根据团队规模、技术栈和基础设施状况进行选型,例如初创团队可优先考虑开箱即用的GitHub Act 阅读详情

jenkins共享ci阶段

需求

一个产品包含多个服务,这些服务的流水线都是类似的:制作制品+构建并推送镜像+构建并推送chart包+触发自动部署。我们期望将流水线拆分为ci流水线、cd流水线,ci流水线包含:制作制品+构建并推送镜像+构建并推送chart包,cd流水线包含:触发自动部署,ci流水线公用的只有一条,每个服务都有一条cd流水线。当构建cd流水线时先触发ci流水线,ci流水线执行完成后继续执行cd流水线各阶段

Pipeline项目实现共享ci阶段

创建ci流水线项目

  • 点击【New Item】选择Pipeline,填写项目名称
    在这里插入图片描述
    在这里插入图片描述
  • 将ci流水线项目配置成参数构建项目,配置需要的参数,以供构建时传递参数到执行流水线,根据不同服务的信息生成对应服务制品
    在这里插入图片描述
  • 配置通过调用url触发构建,输入框中的值为url触发时需要传递的token参数值。此ci流水线除可以供cd流水线触发,还可以通过代码调用url触发生成制品
    在这里插入图片描述
  • 根据需要编写Pipeline脚本。点击这里查看pipeline文档
//所有的脚本命令都放在pipeline中
pipeline {
    //指定任务在哪个集群节点中执行
    agent any
    
    stages {
        stage('打印参数及全局变量') {
            steps {
                sh 'echo ${gitUrl}; sleep 20'
                sh 'echo ${BUILD_ID} - ${BUILD_NUMBER}'
            }   
        }    
        
        stage('生成源码存储目录') {
            steps {
                echo '此ci阶段为产品下所有服务公用,因此需要将代码放置到根据uuid动态生成的目录'
            }   
        }
        
        stage('拉取gitlab仓库代码') {
            steps {
                echo '拉取代码到上部创建目录中'
            }   
        }
        
        stage('通过maven编译打包') {
            steps {
               sh '/u01/app/maven/bin/mvn clean package'
            }   
        }
        
        stage('生成并推送镜像') {
            steps {
               echo '生成并推送镜像'
            }   
        }
        
        stage('生成并推送chart包') {
            steps {
               echo '生成并推送chart包'
            }   
        }
    }

    post {
        always {
            echo '清理目录'
        }
    }
}
测试ci流水线项目
通过页面构建测试ci流水线
  • 点击【Build with Parameters】填写参数值,点击【Build】构建ci流水线
    在这里插入图片描述
通过url远程构建ci流水线
  • 使用postman配置GET请求,并配置好认证信息。token即上面ci流水线配置远程构建设置的token值
http://172.0.0.1:8200/view/hsops.cd28e65c-59e3-46fc-afd3-8002ab0b2128.devops-launch9/job/hskp-devops-service-p/buildWithParameters?token=12345&gitUrl=http://172.0.0.1:8181/hskp-devops-launch5/hand-hzero-gateway.git

在这里插入图片描述

创建cd流水线项目

每条cd流水线对应一个产品服务

  • 点击【New Item】选择Pipeline,填写项目名称
    在这里插入图片描述在这里插入图片描述
  • 将cd流水线项目配置成参数构建项目,配置需要的参数,以供构建时传递参数到执行流水线,这里需要配置的参数包含ci流水线需要的参数
    在这里插入图片描述
  • 根据需要编写Pipeline脚本。此脚本首先触发ci流水线项目构建,完成之后再触发部署
//所有的脚本命令都放在pipeline中
pipeline {
    //指定任务在哪个集群节点中执行
    agent any
    stages {
        stage('ci') {
            steps {
                build job: 'hskp-devops-service-p', wait: true, 
                    parameters:[string(name: 'gitUrl', value: 'http://172.23.16.219:8182/hskp-devops-launch5/hand-hzero-gateway.git')]
            }
        }    
        
        stage('部署') {
            steps {
                echo '执行部署'
            }   
        }
    }
}
CI/CD工具选型实战指南:Jenkins、GitLab CI与Buildbot深度对比 CI/CD(持续集成与持续交付)是现代软件工程的核心实践,其本质是将代码变更自动化地转化为可验证、可部署的软件制品。实现这一目标依赖于调度引擎、执行环境、状态追踪与反馈闭环四大能力。不同工具在插件生态、YAML契约性、原子性保障等维度存在根本差异:Jenkins以Groovy脚本和1800+插件提供高度灵活性,但也带来离线安装插件、插件依赖冲突等运维负担;GitLab CI通过.gitlab-ci.yml实现声明式编排,但缓存失效、Runner资源争抢等问题频发;Buildbot则凭借Python原生配置与 阅读详情

相关推荐

TeamCity VS Jenkins:选择正确的CI / CD工具

每个软件开发周期都涉及三个主要阶段:构建,测试和部署。这三个阶段中的任何一个滞后都会导致产品发布的延迟。为了避免此类延迟,组织依靠CI / CD工具来自动化这些过程。但是最近,随着对CI / CD工具的快速需求,选择泛滥,选择正确的工具可能是艰巨的任务!

xiaojieceo的博客 1572

6、 Jenkins介绍(持续集成、持续部署(CI、CD))

持续集成、持续部署(CI、CD)说明!!!! CI阶段(持续集成(每次都是开发最新的代码)) 代码可以持续的集成到我们的主干上,并自动构建和测试 名词说明 集成到我们的主干: 也就是永远是最新的提交的代码 自动构建和测试: 也就是例如镜像可以自动的放置到私库harbor中,并且测试服务器自动拉取镜像启动镜像。完全不需要测试的手动操作。 我们的操作只有两步:1、开发push代码,我们的操作只有两步:1、开发push代码,2、jenkins构建操作(拉取代码,构建代码,推动到目标服务器(测试服务器)自动跑起来)

分享JAVA/ Python/ Ts学习路上的一些笔记,不足之处多多见谅。 557

主流CI/CD工具横向对比:Jenkins、GitLab CI、Buildbot、Drone与Concourse深度解析

持续集成与持续交付(CI/CD)是现代软件工程的核心实践,旨在通过自动化流程提升开发效率与交付质量。其核心原理在于将代码变更自动触发构建、测试与部署,形成快速反馈闭环。从技术价值看,CI/CD是实现DevOps文化、缩短交付周期、保障软件质量的关键基础设施。在应用场景上,不同团队根据技术栈、规模及环境复杂度,需选择适配的工具。Jenkins以其无与伦比的插件生态和灵活性,成为应对复杂、异构环境的经典选择,尤其擅长处理如“Jenkins自动部署”等自定义场景。而GitLab CI则凭借与GitLab代码仓库的

weixin_33788244的博客 435

持续集成(CI)工具-----jenkins

jenkins

BUG专业户 3183

Java CI/CD 实战指南:如何实现100%自动化部署?揭秘从Jenkins到GitLab CI的全流程!

🔥关注墨瑾轩,带你探索编程的奥秘!🚀🔥超萌技术攻略,轻松晋级编程高手🚀🔥技术宝库已备好,就等你来挖掘🚀🔥订阅墨瑾轩,智趣学习不孤单🚀🔥即刻启航,编程之旅更有趣🚀在当今快速迭代的软件开发世界里,持续集成(CI)和持续部署(CD)已经成为提高生产力、确保代码质量的关键环节。对于Java开发者来说,掌握CI/CD流程不仅能够加速产品上线速度,还能减少人为错误,提升整体项目的稳定性。那么,究竟该如何在Java项目中实施高效的CI/CD呢?

java专栏 620

linux应用程序段错误调试

一、堆、栈 在分析段错误之前,先了解一下什么是堆?什么是栈? 堆:一般由开发者分配释放,如果没有释放,程序结束时,在有的OS中可能会被自动释放,分配方式类似于链表。堆的操作方式为,队列优先,先进先出的原则。 栈:由操作系统自动分配,存放函数的参数值,局部变量。栈的操作方式为,先进后出的原则。 堆栈中定义了一些操作。 两个最重要的是PUSH和POP。  PUSH:操作在堆栈的顶部加入一个元素...

农村种地人 1112

教你从零搭建一个Jekins环境

Jenkins概述 Jenkins下载、安装和配置 Jenkins自动部署配置

at_1000的博客 680

1448•纯粹素数

纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。对于每一个数(无论质数合数)x,筛掉所有小于x最小质因子的质数乘以x的数。但我们知道,我们选择的那个质数必须小于那个合数的最小质因子。p3,因为p2>p1,所以这样是筛不到的。唯一会筛的是第一种:p1和p2*p3。c,s肯定小于刚才那个合数,说明肯定对于它已经筛过,然后a肯定小于s,因为s=b。p3,并且保证p1<p2<p3。我们知道,筛掉这个合数的机会有:p1和p2。c,并且a是最小的因子。

SSL_bin的博客 591

基于jenkins的CICD使用

前言:这篇文章主要讲一讲基于jenkins的CICD使用 基于jenkins的CICD使用一、简介二、CICD流程图三、CICD效果四、jenkins 编译方式五、新创建job六、pipeline 脚本说明七、疑问解答与加群交流学习 一、简介 为了提升线下测试效率,缩短测试时间,提升提测代码质量,规范流程,缩短测试准备和执行时间,缩短问题定位时间,提供预测性指标,规范CICD流程,以提升整体团队效率。 二、CICD流程图 三、CICD效果 大致可查看到的job如下: 点击其中可查看具体编译情况: 四、

李文良的博客 11万+

QT5.14.2离线安装包保姆级教程:断网、选组件、避坑全记录

本文详细介绍了QT5.14.2离线安装包的完整流程,特别针对Windows平台开发者提供断网安装、组件选择及避坑指南。作为QT5系列中最后一个免费离线版本,5.14.2具有免注册、全组件离线安装等独特优势,是开源开发者的理想选择。文章涵盖从环境准备到安装后配置的全方位指导,帮助开发者高效完成安装并避免常见问题。

weixin_30924087的博客 579

ITK-snap医学图像标注方法(超级详细)——保姆级

医学3D图像标注方法,非常详细,保姆级

jialiyk的博客 3万+

CI工具Jenkins安装配置教程

目录1、Jenkins下载( .war 文件)2、配置Jenkins到Tomcat3、启动Tomcat并浏览器访问Jenkins4、解锁Jenkins并安装插件5、创建管理员账号6、系统初始配置全局安全配置全局工具配置:Maven Configuration - settings.xml文件全局工具配置:Maven全局工具配置:JDK 1、Jenkins下载( .war 文件) Jenkins官方网址: http://Jenkins-ci.org/ 官网下载最新版本的Jenkins: 2、配置Jenkin

anndy_的专栏 554

车载测试工程师必备:5分钟搞定CANoe台架搭建(附DBC导入技巧)

本文为车载测试工程师提供快速搭建CANoe测试台架的实用指南,涵盖硬件连接、DBC文件导入及常见报错解决方案。通过详细步骤和高效技巧,帮助工程师在5分钟内完成台架搭建,提升车载测试效率,特别适合紧急功能验证场景。

potato的博客 815

dsh-purge:120 条补丁把宿主当被测对象,8809 行核心代码赌“拒答不等于模型说的“

在装了沙箱、审批门、hooks 的宿主里问模型一个敏感问题,它说"我不能"。这个结论会撒谎——拒绝可能来自模型,也可能来自包裹模型的那层壳。dsh-purge 把这两层拆开:它不改模型,只对官方 DeepSeek Harness 宿主做本地、可还原的清洗,让"模型拒答"和"宿主拦截"变成两个可分别观测的变量。 ## 先回答谁拦的,再回答模型答不答 宿主在转发提示词之前会重写提示词、走审批门、套

gitblog_06876的博客 189

Zotero插件安装保姆级教程:从Jasminum到Sci-Hub,一站式搞定文献管理

本文提供Zotero插件安装的保姆级教程,从Jasminum到Sci-Hub,一站式搞定文献管理。通过详细配置和实战案例,帮助用户高效构建文献工作流,提升研究效率。重点介绍了元数据抓取、PDF管理、文献分析和知识产出等关键插件的使用方法。

weixin_42531516的博客 172

基于Android平台下的健康管理APP/基于android的健康管理系统

随着网络科技的发展,移动智能终端逐渐走进人们的视线,相关应用越来越广泛,并在人们的日常生活中扮演着越来越重要的角色。因此,关键应用程序的开发成为影响移动智能终端普及的重要因素,设计并开发实用、方便的应用程序具有重要的意义和良好的市场前景。Android技术作为当前最流行的操作平台,自然也存在着大量的应用服务需求。 本课题研究的是基于Android技术平台的健康管理APP,开发这款健康管理APP主要是为了帮助用户可以不用约束时间与地点进行所需信息。本文详细讲述了健康管理APP的界面设计及使用,主要包括界面的

m0_73706453的博客 1440

Wolox CI - 一款简化Jenkins管道配置的开源工具

Wolox CI - 一款简化Jenkins管道配置的开源工具 Wolox CI 是一个用 Groovy 语言编写的开源项目,旨在帮助开发者更轻松地配置 Jenkins 管道(Pipeline)。这个项目通过提供一个Jenkins库,使得用户在无需深入了解 Jenkinsfile 语法的情况下,也能配置出复杂的构建流程。 项目的基础介绍和主要的编程语言 Wolox CI 是由Wolox团队开发的一...

gitblog_00242的博客 827

【WRF安装第三期(Ubuntu)】搭建WRF编译所需系统-第三方依赖库安装

WRF安装第三期:搭建WRF编译所需系统-第三方依赖库安装

WW、forever的博客 3139

持续集成CI与Jenkins

持续集成CI 持续集成说明 持续集成是一种软件开发实践。采用持续集成时,开发人员会定期将代码变更合并到一个中央存储库中,之后系统会自动运行构建和测试操作。 持续集成通常是指软件发布流程的构建或集成阶段,需要用到自动化组件(例如 CI 或构建服务)和文化组件(例如学习频繁地集成)。持续集成的主要目标是更快发现并解决缺陷,提高软件质量,并减少验证和发布新软件更新所需的时间。 为什么需要持续集成? 过去,一个团队的开发人员可能会孤立地工作很长一段时间,只有在他们的工作完成后,才会将他们的更改合并到主分支中。这使得

hellolilia的博客 204

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

持续集成实战:Jenkins vs GitLab CI vs GitHub Actions 测评

首先概述持续集成在现代开发中的重要性,随后从架构设计、安装配置、功能特性、扩展性、性能表现、适用场景等维度进行详细对比,分析各工具的优势与短板。最后结合实际开发需求,为不同规模团队和项目提供工具选型建议,帮助读者快速掌握三者的核心差异,选择最适合自身的持续集成方案。从实战来看,GitHub Actions 和 GitLab CI 的配置效率明显高于 Jenkins,但 Jenkins 的自定义程度更高,可根据项目需求调整每一个细节。总之,没有绝对最优的工具,只有最适合自身需求的选择。四、总结与选型建议​。

2503_92849134的博客 1034

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

到底Jenkins、GitLab CI,是如何实现自动化的代码提交、构建、测试和发布流程?底层原理是什么?

Jenkins 和 GitLab CI 实现自动化的方式虽然有所不同,但它们的核心理念是一致的:通过标准化、自动化的方式连接开发、测试和运维过程,促进更快更可靠的软件交付。

长风破浪会有时的博客 886

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

CI/CD 工具比较:Jenkins、GitLab CI、Buildbot、Drone 和 Concourse

持续集成、交付和部署是旨在帮助增加开发速度并发布经过充分测试的可用产品的策略。持续集成鼓励开发团队尽早测试和集成其对共享代码库的更改,以最小化集成冲突。持续交付建立在此基础上,通过消除部署或发布过程中的障碍。持续部署则进一步通过自动部署通过测试套件的每个构建。虽然上述术语主要涉及策略和实践,但软件工具在帮助组织实现这些目标方面起着重要作用。CI/CD 软件可以帮助团队自动推进新变更通过一系列阶段,以减少反馈时间并消除流程中的摩擦。

rubys007的博客 4362

基于Jenkins Pipeline的持续交付流水线

持续集成是一种软件开发实践,开发者在完成代码更改后,频繁地将其集成到主分支。这个过程通过自动化构建和测试,确保新代码不会破坏现有的功能。持续交付是在持续集成的基础上,将代码更改自动化部署到生产环境的能力。经过持续集成后,软件应随时处于可交付的状态。持续部署是持续交付的进一步延伸,指的是将经过所有测试的代码自动部署到生产环境。一旦代码集成并测试成功,就会自动推送到生产,无需人工干预。Pipeline 是一种将持续集成和持续交付过程以代码形式定义的方式。它使得构建、测试和部署过程更加透明和可重复。

zx893404890的博客 1523

Linux第26篇:CI/CD流水线搭建:Jenkins/GitLab CI自动化发布Java SaaS应用

本文系统讲解CI/CD流水线的核心理念与两大主流工具——Jenkins与GitLab CI的实战部署,从环境搭建到Pipeline脚本编写,再到生产级最佳实践,帮助你带领团队从“手动发布”走向“一键自动发布”。

qq_23625847的博客 514

Jenkins介绍与部署

1. CICD简介 CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一个面向开发和运营团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题(亦称:“集成地狱”)。 具体而言,CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。这些关联的事务通常被统称为“CI/CD 管道”,由开发和运维团队以敏捷方式协同支持。 1.1CI 是什么?CI 和 CD 有什么区别? 缩略词 C

weixin_47746630的博客 2857
上一篇: docker登录harbor、K8s拉取镜像报http: server gave HTTP response to HTTPS client
下一篇: K8S通过Ansible安装集群
炒栗子不加糖
博客等级 码龄10年 68粉丝 123原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值