(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目

前言

本节内容我们使用另外一种方式pipeline实现项目的流水线部署发布,Jenkins Pipeline是一种允许以代码方式定义持续集成和持续交付流水线的工具。通过Jenkins Pipeline,可以将整个项目的构建、测试和部署过程以脚本的形式写入Jenkinsfile中,实现对整个流程的可视化管理和控制。在 Jenkins Pipeline中,可以定义不同的阶段(stage)、步骤(step)、参数(parameters)、环境变量(environment variables)等,以实现自动化构建、测试和部署过程。还可以通过条件判断、循环等控制结构来实现流水线的灵活控制。

正文

①创建一个流水线pipeline方式的项目

②填写描述信息和构建的策略,此步骤可跳过

③ 使用流水线的Pipeline script方式构建一个maven项目

- 构建脚本

pipeline {agent anystages {stage('拉取代码') {steps {echo '========================拉取代码========================'checkout([$class: 'GitSCM',branches: [[name: '*/master']],doGenerateSubmoduleConfigurations: false,extensions: [],submoduleCfg:[],userRemoteConfigs: [[credentialsId: 'gitee', url:'https://gitee.com/northcangap/ht-atp.git']]])}}stage('编译构建') {steps {echo '========================编译构建========================'sh 'cd ht-atp-security && mvn clean package -Dmaven.test.skip=true'}}stage('部署安装') {steps {echo '========================部署安装========================'sshPublisher(continueOnError: false,failOnError: true,publishers: [sshPublisherDesc(configName: "ht-atp",transfers: [sshTransfer(sourceFiles: "ht-atp-security/target/*.jar",removePrefix: "ht-atp-security/target",remoteDirectory: "/pipeline",execCommand: "cd /ht/pipeline && sh start.sh",execTimeout: 12000)])])}}}
}

- 使用git拉取代码

- 使用maven命令构建项目

- 使用sshPublisher组件将构建好的项目发布到远程服务器

④ 点击立即构建,构建该流水线项目

⑤查看构建的流水线项目日志

⑦ 访问项目

⑧方式二:流水线使用Pipeline script from SCM方式创建,配置源码地址

⑨ 配置Jenkinsfile流水线脚本路径

⑩ 在项目的源码路径下创建一个Jenkinsfile文件,文件内容同上,并上传到源码库,构建时,会使用此文件完成流水线项目的发布

⑪同样也可以部署发布成功,一般更推荐使用方式二实现

⑫ 关于pipeline的流水线语法可参考其提供的DSL流水线语法

⑬ 前端vue项目的部署脚本

pipeline {agent anystages {stage('拉取代码') {steps {echo '========================拉取代码========================'checkout([$class: 'GitSCM',branches: [[name: '*/master']],doGenerateSubmoduleConfigurations: false,extensions: [],submoduleCfg:[],userRemoteConfigs: [[credentialsId: 'gitee', url:'https://gitee.com/northcangap/ht-atp.git']]])}}stage('编译构建') {steps {echo '========================编译构建========================'sh 'cd ht-atp-app && npm i -f && npm run build'}}stage('部署安装') {steps {echo '========================部署安装========================'sshPublisher(continueOnError: false,failOnError: true,publishers: [sshPublisherDesc(configName: "ht-atp",transfers: [sshTransfer(sourceFiles: "ht-atp-app/dist/**",removePrefix: "ht-atp-app/dist",remoteDirectory: "/pipeline/ht-app")])])}}}
}

结语

至此,关于jenkins流水线使用pipeline方式发布项目的内容到这里就结束了,我们下期见。。。。。。

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

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

相关文章

打通全渠道,聚道云助力时尚巨头提升运营效能

客户介绍: 北京某时尚有限公司是一家集设计、生产、销售于一体的时尚产业领军企业。自成立以来,该公司一直秉承着对时尚的独特理解和不懈追求,以打造高品质、高品位的时尚产品为己任,深受国内外消费者的喜爱。 客户痛点&#xff…

springcloud:1.Eureka详细讲解

Eureka 是 Netflix 开源的一个服务注册和发现工具,被广泛应用于微服务架构中。作为微服务架构中的核心组件之一,Eureka 提供了服务注册、发现和失效剔除等功能,帮助构建弹性、高可用的分布式系统。在现代软件开发领域,使用 Eureka 可以有效地管理和监控服务实例,实现服务之…

网络安全综合实验

1.实验拓扑 在这里注意因为第四个要求配置双击热备,我们可以第一时间配置,避免二次重复配置消耗时间 4、FW1和FW3组成主备模式的双机热备 具体配置位置在系统-->高可靠性-->双机热备-->配置 这里上行链路有两组,分别为电信和移动&…

Sora后观察:AI大模型产业落地的八个锚点

在正在进行的2024年,国内大模型也将更下沉和落地,在技术上的突破之外,也会出现更多的向下的产业兼容和产业实践案例,作为新质生产力推动产业数字化转型的航船加速前进。 作者|斗斗 编辑|皮爷 出品|产业家 “电影讲述了一名…

期权无风险套利策略[2]—牛市垂直价差套利

牛市垂直价差 牛市垂直价差可以分为牛市看涨期权价差策略与牛市看跌期权价差策略。 其中,牛市看涨价差策略是指投资者买入较低行权价的认购期权、同时卖出数量较高行权价的同月认购期权。 牛市看跌价差策略同理,将看涨期权换成看跌期权即可。 牛市价…

分布式id实战

目录 常用方式 特征 潜在问题 信息安全 高性能 UUID 雪花算法 数据库生成 美团Leaf方案 Leaf-segment 数据库方案 Leaf-snowflake 方案 常用方式 uuid雪花算法数据库主键 特征 全局唯一趋势递增信息安全 潜在问题 信息安全 如果id连续递增, 容易被爬虫, 批量下…

汽车控制器软件正向开发

需求常见问题: 1.系统需求没有分层,没有结构化,依赖关系不明确 2.需求中没有验证准则 3.对客户需求的追溯缺失,不完整,颗粒度不够 4.系统需求没有相应的系统架构,需求没有分解到硬件和软件 5.需求变更管控不严格,变更频繁,变更纪录描述不准确,有遗漏,客户需求多…

SpringBoot配置文件日志

目录 一、SpringBoot配置文件的作用 二、SpringBoot配置文件的分类 1、application.properties 2、application.yml 3、application.yaml 三、使用配置文件实例--验证码 1、使用Kaptcha插件生成验证码 2、网页需求分析 3、前端页面 4、发送请求 5、服务器作出响应 …

VUE3 中导入Visio 图形

微软的Visio是一个功能强大的图形设计工具,它能够绘制流程图,P&ID,UML 类图等工程设计中常用的图形。它要比其它图形设计软件要简单许多。以后我的博文中将更多地使用VISO 来绘制图形。之前我一直使用的是corelDraw。 Visio 已经在工程设…

grid新建主从一对多

目录 总结一、步骤前端1.第一步-编写tabs的modelBody2.第二步编辑表扩展js 后端--重写表的add和Update方法1.第一步 总结 编写tabs的modelBody后编辑表扩展js在重写后端partial的Service 一、步骤 前端 1.第一步-编写tabs的modelBody 复制下面代码该改的改 <template&…

猫头虎分享: All in AI时代来临,作为程序员我们应该做些什么?

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

Vue3自定义全局指令批量注册

指令封装代码&#xff1a; import type { App } from "vue";const content {mounted(el : any, binding : any) {console.dir(binding.value);el.remove();} };const operate {mounted(el : any, binding : any) {console.dir(binding.value);el.remove();} };cons…

centos服务器使用1PANEL安装部署Halo

接上文&#xff0c;我们购买好了服务器并登录成功后。就可以进行建站操作啦。博主这里主要是想试一下Halo的搭建。 上期文章&#xff1a; 前端仔浅浅复习一下服务器的购买与使用 Halo是类似于WordPress的CMS博客内容系统&#xff0c;不过Halo是国内开源的&#xff0c;技术和界…

冒泡排序及其优化

冒泡排序 int[] arr {1,3,2,9,4,7,2,8};//比较多少轮(n个数字比较n-1次)for(int i0,n arr.length;i<n-1;i) {//每轮比较多少次(n-1-i次)for(int j 0;j<n-1-i;j) {//两两比较if(arr[j] > arr[j1]) { //比较结果为升序排列&#xff0c;如果想要降序排列结果将 >…

shell运行原理

前言 前一段时间由于身体的缘故和一些琐事&#xff0c;好久没有更新Linux的博文了。从本篇博文开始会接着以前的内容一直持续更新&#xff01; 本期类容介绍 为什么存在shell外壳&#xff1f; 什么是shell外壳&#xff1f; shell外壳是如何工作的&#xff1f; 一、为什么存在…

【办公类-16-07-03】“2023下学期 周计划-户外游戏 每班1周五天相同场地,6周一次循环、有场地、贴墙版”(python 排班表系列)

作品展示——有场地说明 背景需求&#xff1a; 前期做了一份“贴周计划”用的班主任版的户外游戏安排表&#xff08;中X班19周&#xff0c;没有场地&#xff09; 【办公类-16-07-02】“2023下学期 周计划-户外游戏 每班1周五天相同场地&#xff0c;6周一次循环”&#xff08;…

认识TypeScript 中的接口和类

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 接口 类 江城开朗的豌豆 在 TypeScript 中&…

企业办公终端文件数据\资料防泄密管理系统——天锐绿盾 | 防泄密软件——自动智能透明加密保护核心数据资料,防止外泄

其“数据防泄密系统”是一套从源头上保障数据安全和使用安全的加密软件系统&#xff0c;已全面覆盖Linux、Mac、Windows系统&#xff0c;可进行各类型文档加密、音视频加密、源码加密、Cad图纸加密、多种类型设计稿源文件加密。 PC端&#xff1a;https://isite.baidu.com/site/…

移动通信相关知识学习笔记

一、移动通信架构简图 移动无线的接入网是专指各种基站设备。核心网就是各种交换机。 二、无线信号基本原理 无线网络中&#xff0c;使用AP设备和天线来实现有线和无线信号互相转换。如上图所示&#xff0c;有线网络侧的数据从AP设备的有线接口进入AP后&#xff0c;经AP处理为…

Maxwell - 增量数据同步工具

前言 今天来学习一个新的大数据小工具 Maxwell &#xff0c;它和 Sqoop 很像。Sqoop主要用于在 Hadoop &#xff08;比如 HDFS、Hive、HBase 等&#xff09;和关系型数据库之间进行数据的批量导入和导出&#xff0c;而 Maxwell 则主要用于监控数据库的变化&#xff08;通过监控…