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

[jenkins自动化2]: linux自动化部署方式之流水线(下篇)

目录

1. 引言: 

2.  进阶操作 流水线

-> 2.1 简介:

-> 2.2 最终效果图展示: 

-> 2.3 有没有心动, 真的像流水线一样, 实现了一键部署启动 

 3. 实现方式

 3.1 下载几个插件

 3.2  创建流水线任务

 3.3 点击配置

 3.4 根据流水线语法 写一个简单的helloworld

3.5 执行该语法 打开blueOcean查看效果

 4. 实战操作 一键git+maven+ssh

 4.1 直接上流水线语法吧  带复选框的

4.2 修改位置 

---> 4.2.1 ssh不知道如何更换??

 4.3 最终执行的选择框效果

4.4 开始构建 执行操作 效果图

5. 报错解决

-> 5.1 maven提示没有jdk

---> 5.1.1 查看全局配置中的maven位置

---> 5.1.2 查看java_home 

ps: 最最重要的是 重启jenkins服务, 不是网页


1. 引言: 

借用jenkins 实现基础的自动化部署

jenkins安装配置操作: --> [Jenkins自动化] 实现远端linux自动化部署方式(上篇)

2.  进阶操作 流水线

-> 2.1 简介:

单个服务上述的操作操作起来也是很轻松, 但是面对多个服务的一件部署显得力不从心,

有没有既能拉取代码 打包并且上传的方法呢, 答案是肯定的: 流水线 

实现了git+maven+ssh一键操作

-> 2.2 最终效果图展示: 

-> 2.3 有没有心动, 真的像流水线一样, 实现了一键部署启动 

 3. 实现方式

ps: 没有看上篇的, 需要先看上篇:  [Jenkins自动化] 实现远端linux自动化部署方式(上篇)

 3.1 下载几个插件

1. Extended Choice Parameter Plugin

2. blue ocean

 3.2  创建流水线任务

 3.3 点击配置

拉到最下面 流水线语法

 3.4 根据流水线语法 写一个简单的helloworld

pipeline {agent anystages {stage('pull') {steps {echo 'Hello World1'}}stage('Hello2') {steps {echo 'Hello World2'}}stage('Hello3') {steps {echo 'Hello World3'}}}
}

3.5 执行该语法 打开blueOcean查看效果

 4. 实战操作 一键git+maven+ssh

 4.1 直接上流水线语法吧  带复选框的

pipeline {agent any
//     environment {
// 	    VERSION = "${TIME}"   
// 		PATH = "C:/Program Files/Java/jdk1.8.0_201/bin:D:/software/jenkins/pzy/Jenkins/.jenkins/tools/hudson.tasks.Maven_MavenInstallation/apache-maven-3.8.2/bin:$PATH"    
//     }parameters {extendedChoice (name: 'project_names', type: 'PT_CHECKBOX', description: '请勾选所要发布的项目模块', quoteValue: false, saveJSONParameterToFile: false, value: '服务A,服务B,服务C', descriptionPropertyValue: '服务A,服务B,服务C', visibleItemCount: 11, multiSelectDelimiter: ',', defaultValue: '服务A');choice(description: 'Which git branch do you prefer to choose?',name: 'gitbranch',choices: ['develop',"test",'master']);booleanParam(name: 'skip_buid', defaultValue: false, description: '是否跳过构建?')}stages {stage('PULL') {steps {echo "git pull--------${gitbranch}"git branch: "${gitbranch}", credentialsId: '7910292c-1a80-4d56-9e3b-147a97ce3ed8', url: 'Git地址 'echo 'git pull success--------'}}stage('BUILD') {steps {echo "${skip_buid}"script {echo "${skip_buid}"if (!skip_buid.toBoolean()) {echo 'build --------'bat """D:/software/maven/apache-maven-3.6.3/bin/mvn clean install -Dmaven.test.skip=true"""echo 'build success--------'}}}}stage('SSH'){steps {script{for (projectname in project_names.tokenize(',')) {echo "ssh --------${projectname + '.jar'}"echo "/bin/sh /opt/app/startup.sh  /opt/app/${projectname+'.jar'}"sshPublisher(publishers: [sshPublisherDesc(configName: 'pzy', transfers: [sshTransfer(cleanRemote: false,excludes: '', execCommand: "/bin/sh /opt/app/shutdown.sh ${projectname+'.jar'}; /bin/sh /opt/app/startup.sh  /opt/app/${projectname+'.jar'}",execTimeout: 120000, flatten: false,makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+',remoteDirectory: '/opt/app/',remoteDirectorySDF: false, removePrefix: "${projectname}\\target\\",sourceFiles: "${projectname}\\target\\${projectname+'.jar'}",usePty: true)],usePromotionTimestamp: false,useWorkspaceInPromotion: false,verbose: false)])echo 'ssh sucess --------'}}}}}
}

4.2 修改位置 

git路径, maven位置 服务器上传路径 ssh的账号密码

---> 4.2.1 ssh不知道如何更换??

流水线语法- ssh搜索->ssh创建框 里面就可以操作了

 4.3 最终执行的选择框效果

4.4 开始构建 执行操作 效果图


5. 报错解决

-> 5.1 maven提示没有jdk

---> 5.1.1 查看全局配置中的maven位置

---> 5.1.2 查看java_home 

set java_home

 如果不存在  配置一下即可

ps: 最最重要的是 重启jenkins服务, 不是网页


[jenkins的windows版 常规自动化操作 结束]

相关文章:

[jenkins自动化2]: linux自动化部署方式之流水线(下篇)

目录 1. 引言: 2. 进阶操作 流水线 -> 2.1 简介: -> 2.2 最终效果图展示: -> 2.3 有没有心动, 真的像流水线一样, 实现了一键部署启动 3. 实现方式 3.1 下载几个插件 3.2 创建流水线任务 3.3 点击配置 3.4 根据流水线语法 写一个简单的helloworld 3.5 执行…...

idea使用 ( 二 ) 创建java项目

3.创建java项目 3.1.创建普通java项目 3.1.1.打开创建向导 接 2.3.1.创建新的项目 也可以 从菜单选择建立项目 会打开下面的选择界面 3.1.2.不使用模板 3.1.3.设置项目名 Project name : 项目名 Project location : 项目存放的位置 确认创建 3.1.4.关闭tips 将 Dont s…...

RabbitMq-接收消息+redis消费者重复接收

在接触RammitMQ时,好多文章都说在配置中设置属性 # rabbitmq 配置 rabbitmq:host: xxx.xxx.xxx.xxxport: xxxxusername: xxxpassword: xxxxxx## 生产端配置# 开启发布确认,就是confirm模式. 消费端ack应答后,才将消息从队列中删除#确认消息已发送到队列(Queue)pub…...

Orangepi Zero2 全志H616简介

为什么学 学习目标依然是Linux 系统 ,平台是 ARM 架构 蜂巢快递柜,配送机器人,这些应用场景用C51,STM32单片机无法实现 第三方介入库的局限性,比如刷脸支付和公交车收费设备需要集成支付宝SDK,提供的libalipay.so 是…...

Golang每日一练(leetDay0047)

目录 138. 复制带随机指针的链表 Copy List with Random-pointer 🌟🌟 139. 单词拆分 Word Break 🌟🌟 140. 单词拆分 II Word Break II 🌟🌟🌟 🌟 每日一练刷题专栏 &…...

HCL Nomad Web 1.0.7发布和新功能验证

大家好,才是真的好。 要问在HCL Notes/Domino系列产品中,谁更新得最快,那么答案一定是HCL Nomad Web。 你看上图右边,从1.0.1更新到1.0.7,都没花多少时间。 从HCL Nomad Web 1.0.5版本开始,可以支持直接…...

春招网申简历填写三技巧

网申第一关很重要,不夸张的说网申决定了你的笔试机会,从如信银行考试中心了解到,银行网申筛选过程中,有机器筛选人工筛选两道程序,掌握填写技巧后对提升简历通过率有较大帮助,一定要把握住,关于…...

计算机网络基础知识总结

经过学习我们可以知道: 关于计算机网络: ip地址端口号协议协议分层TCP五层协议协议封装两台计算机之间的通信 目录 ip地址 端口号 协议 协议分层 五层协议体系结构 (1) 应用层 (2) 运输层 (3) 网络层 (4)数据链路层 (5)物理层 封装&分用 两台主机之间的通信 …...

(下)苹果有开源,但又怎样呢?

一开始,因为 MacOS X ,苹果与 FreeBSD 过往从密,不仅挖来 FreeBSD 创始人 Jordan Hubbard,更是在此基础上开源了 Darwin。但是,苹果并没有给予 Darwin 太多关注,作为苹果的首个开源项目,它算不上…...

row_number 和 cte 使用实例:考场监考安排

row_number 和 cte 使用实例:考场监考安排 考场监考安排使用 cte 模拟两个表的原始数据使用 master..spt_values 进行数据填充优先安排时长较长的考试使用 cte 安排第一个需要安排的科目统计老师已有的监考时长尝试使用 cte 递归,进行下一场考试安排&…...

2023天梯赛记录

文章目录 L2-001 紧急救援L2-002 链表去重L2-004 这是二叉搜索树吗?L2-005 集合相似度L2-006 树的遍历L2-007 家庭房产L2-010 排座位L2-011 玩转二叉树L2-012 关于堆的判断L2-013 红色警报L2-014 列车调度L2-016 愿天下有情人都是失散多年的兄妹L2-019 悄悄关注L2-0…...

被吐槽 GitHub仓 库太大,直接 600M 瘦身到 6M,这下舒服了

大家好,我是小富~ 前言 忙里偷闲学习了点技术写了点demo代码,打算提交到我那 2000Star 的Github仓库上,居然发现有5个Issues,最近的一条日期已经是2022/8/1了,以前我还真没留意过这些,我这人懒…...

OpenGL(三)——着色器

目录 一、前言 二、Shader 2 Shader 2.1 顶点着色器 2.2 片段着色器 三、APP 2 Shader 四、顶点颜色属性 五、着色器类C 一、前言 着色器Shader是运行在GPU上的小程序,为图形渲染管线的某个特定部分而运行。各阶段着色器之间无法通信,只有输入和输…...

【MySQL】单表查询

一、表的准备 查询操作的SQL演示将基于下面这四张表进行,我们先创建好这四张数据表,并为其添加数据。 1、第一张表为部门表,名称为包含三个字段:部门编号(deptno),部门名称(dname&…...

第一章 安装Unity

使用Unity开发游戏的话,首先要安装Unity Hub和Unity Editor两个软件。大家可以去官方地址下载:https://unity.cn/releases/full/2020 (这里我们选择的是2020版本) Unity Hub 是安装 Unity Editor、创建项目、管理帐户和许可证的主…...

20230425----重返学习-vue项目-vue自定义指令-vue-cli的配置

day-057-fifty-seven-20230425-vue项目-vue自定义指令-vue-cli的配置 vue项目 vuex版 普通版纯axios:切换页面,就会重新发送一次ajax请求普通版升级:vuex版vuex的常用功能 vuex 数据通信vuex 缓存数据 前进后退,切换页面&#…...

el-input 只能输入整数(包括正数、负数、0)或者只能输入整数(包括正数、负数、0)和小数

使用el-input-number标签 也可以使用typenumbe和v-model.number属性&#xff0c;两者结合使用&#xff0c;能满足大多数需求&#xff0c;如果还不满足&#xff0c;可以再结合正则表达式过滤 <el-input v-model.number"value" type"number" /> el-i…...

Docker Compose的常用命令与docker-compose.yml脚本属性配置

Docker Compose的常用命令与配置 常见命令ps&#xff1a;列出所有运行容器logs&#xff1a;查看服务日志输出port&#xff1a;打印绑定的公共端口build&#xff1a;构建或者重新构建服务start&#xff1a;启动指定服务已存在的容器stop&#xff1a;停止已运行的服务的容器&…...

with语句和上下文管理器(py编程)

1. with语句的使用 基础班向文件中写入数据的示例代码: # 1、以写的方式打开文件f open("1.txt", "w")# 2、写入文件内容f.write("hello world")# 3、关闭文件f.close()代码说明: 文件使用完后必须关闭&#xff0c;因为文件对象会占用操作系统…...

《JavaEE初阶》HTTP协议和HTTPS

《JavaEE初阶》HTTP协议和HTTPS 文章目录 《JavaEE初阶》HTTP协议和HTTPSHTTP协议是应用层协议:使用Fiddler抓取HTTP请求和响应:Fiddler的下载和基本使用:Fiddler的中间代理人身份:其他抓包工具: 先简单认识HTTP请求与HTTP响应:HTTP请求:HTTP响应: HTTP请求详解:首行&#xff1…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的&#xff1a;a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...