Jenkins环境搭建与使用

Jenkins环境搭建与使用

1 Jenkins下载
https://www.jenkins.io/download/

下载完成后

2 启动Jenkins
Java -jar jenkins.war
在浏览器输入10.88.123.11:8080
指定JDK为本机JDK路径

查看jenkins版本

3 插件安装方式
3.1 在线安装
安装jenkins后,初次启动的时候安装插件
安装推荐的插件,或者选择插件安装

3.2 在线安装:插件管理,可选插件中

3.3 离线安装:下载插件(.hpi格式)
  使用该方法安装插件每次只能安装一个插件,且如果插件之间存在依赖性则需按顺序进行安装
  安装失败时可以选择Details查看安装失败原因,大多数时候是因为插件之间的依赖性,或者插件版本等原因。
https://www.jenkins.io/zh/
https://plugins.jenkins.io/ui/search?query=
导入插件
成功后,重启jenkins
4、离线安装:通过jpi文件
  直接将jpi文件放入Jenkins的plugins文件夹下(rpm安装的jenkins,路径是:/var/lib/jenkins/plugins/),然后重启Jenkins即可。
  用这种方式既可以批量安装插件,安装时又可以忽视插件之间的关联性。若依赖的插件不存在或者存在版本问题,则重启之后会在Manage Jenkins中进行提示,根据提示逐一解决问题即可。
  如果需要对Jenkins的插件配置进行迁移,直接将plugins文件目录直接替换即可,或者将.jpi复制过去之后直接重启Jenkins即可。
4 离线安装jenkins插件
Jenkins 安装报错"该Jenkins实例似乎已离线",如果Jenkins所在的服务器有防火墙或者没有网络,就只能通过上传插件的方式进行离线安装了。下面是具体的安装步骤:

1、 插件下载地址:http://mirror.xmission.com/jenkins/plugins/

https://updates.jenkins-ci.org/download/plugins/ (使用该网址,有jenkins的版本)
根据自己需要的插件名称进行搜索,下载.hpi类型文件。如果是搭建Jenkins+ant+jmeter测试环境,一般需要这几个插件:Ant Plugin,Performance plugin,HTML publisher plugin,Groovy。

https://plugins.jenkins.io/matrix-project/dependencies/ 该网址可以查询依赖关系。
2、 重点:一定要下载 skip-certificate-check.hpi 文件。
Ctrl+f搜索:

3、 点击Jenkins左侧控制面板中的“Manage Jenkins”—>“Manage Plugins”—>“Advanced”,拖到下面找到“Deploy Plugin”,上传.hpi类型的文件,点击Deploy安装插件。

点击restart jenkins

【必须先安装 skip-certificate-check.hpi ,否则安装插件时会失败。】

采用离线安装插件的方法在插件部署完可能会存在依赖问题,需要在https://updates.jenkins-ci.org/download/plugins/ 搜索并下载部署到jenkins中。

重重依赖,部署麻烦,建议直接在外网环境下载完插件在导入内网使用。

5 Jenkins创建自由式风格项目

  1. 创建项目

  2. 配置流水线

  3. 配置构建步骤

  4. 加入Junit单元测试

  5. BlueOcean查看构建结果

  6. 本地构建产物

6 Jenkins中节点运行job文件的传递
6.1 文件传递
下面以B的产物传递到 A中来简述, B是在节点机器运行,产物也存在节点机器。

  1. 安装Copy Artifact Plugin 插件,第三步需要用到这个插件

  2. 在B设置中,添加构建后操作步骤,选择Archive the artifacts;把需要传递的文件路径与名字写在文本框中(以job的workspace为根目录),多个文件以逗号分隔开,如下图传递了build/libDataReceiver.so文件:

  3. 交叉编译配置

  4. 源代码管理

  5. 保存配置

  6. 构建项目

  7. 查看构建输出信息

  8. 然后在A设置中,增加构建步骤,选择Copy artifacts from another project,配置如下:

  9. 构建A

6.2 上下游jobs设置(并行、串行)
使用jenkins中,当有多个jobs需要互相关联时,就需要设置jobs的上下游关联关系。比如B运行后触发A。
6.2.1 Build after other projects are built设置

(1)这里设置的为上游的jobs名称,比如在A填写的设置中填写了B,则会等待B运行完后,自动触发A运行。
(2)可以设置多个,用逗号分开,比如在A填写的设置中填写了B,job_C,则会等待B,job_C运行完后,自动触发A运行。

6.2.2 Build other projects

(1)在构建后操作中,添加一个操作步骤Build other projects,这里设置的就是下游的jobs运行,比如在job_B填写的设置中填写了job_A,则job_B运行完后,自动触发job_A运行。
(2)当然这里也可以填写多个,形成了并行;比如在job_B填写的设置中填写了job_A,job_C,则ob_B运行完后,自动触发job_A,job_C一起运行。
6.2.3 jenkins-multijob-plugin
jenkins-multijob-plugin这个是插件,安装插件就不在这里说了啊。这个插件主要作用就是把多个jobs组装起来,形成持续集成。
(1)新建jobs,选择MultiJob Project

(2)进入job设置,在构建模块,新建构建步骤,选择MultiJob Phase

总结:multijob的好处主要是,让各个job独立,不受到上下游的任何影响,这样就不会受到任何依赖。比如代码存在多个分支master与test,需要合并、编译、部署
(1)master-合并-编译-单元测试-部署
(2)test-合并-编译-单元测试-部署
形成这样形成一个顺序的job执行,各不影响,不用去设置job的上下游而受到影响。

参考:
https://blog.csdn.net/ouyanggengcheng/article/details/76131289

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

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

相关文章

深度学习-基于机器学习的垃圾邮件过滤系统

概要 当今社会发展迅速,网络邮件也愈加普及。但是随之产生的垃圾邮件问题,也是的我们的邮件用户不堪其扰。对企业的工作以及个人用户的生活也造成了很大的影响。针对一些由于垃圾邮件导致的网络吞吐量异常和邮件系统无法正常使用的情况。建立一个机器学习…

html5黑色大气的个人博客全屏滚动个人主页源码HTML+JS+CSS

html5黑色大气的个人博客全屏滚动个人主页源码HTMLJSCSS

基于背景差法的运动目标检测(车辆检测),Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

【计算机视觉】二、图像形成——实验:2D变换编辑器2.0(Pygame)

文章目录 一、向量和矩阵的基本运算二、几何基元和变换1、几何基元(Geometric Primitives)2、几何变换(Geometric Transformations)2D变换编辑器0. 项目结构1. Package: guibutton.pywindow.py1. __init__(self, width, height, title)2. add_buttons(self)3. clear(self)4. dr…

npm run dev命令的执行顺序和原理

当我们在开发vue、react等项目的时候经常会用npm run *命令,那么当我们执行这个命令的时候具体都做了些什么呢?接下来我们就来详细探索一下 当执行npm run dev命令时,npm会按照以下步骤进行操作: 1. 查找并执行脚本: …

Docker 安装 Skywalking以及UI界面

关于Skywalking 在现代分布式系统架构中,应用性能监控(Application Performance Monitoring, APM)扮演着至关重要的角色。本文将聚焦于一款备受瞩目的开源APM工具——Apache Skywalking,通过对其功能特性和工作原理的详细介绍&am…

【C++ leetcode 】双指针问题

1. 183. 移动零 题目 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 题目链接 . - 力扣(LeetCode) 画图 和 文字 分…

基于深度学习LSTM+NLP情感分析电影数据爬虫可视化分析推荐系统(深度学习LSTM+机器学习双推荐算法+scrapy爬虫+NLP情感分析+数据分析可视化)

文章目录 基于深度学习LSTMNLP情感分析电影数据爬虫可视化分析推荐系统(深度学习LSTM机器学习双推荐算法scrapy爬虫NLP情感分析数据分析可视化)项目概述深度学习长短时记忆网络(Long Short-Term Memory,LSTM)机器学习协…

golang常用库之-golang常用库之-ladon包 | 基于策略的访问控制

文章目录 golang常用库之-ladon包 | 基于策略的访问控制概念使用策略 条件 Conditions自定义conditionLadon Condition使用示例 持久化访问控制(Warden) 结合 Gin 开发一个简易 ACL 接口参考 golang常用库之-ladon包 | 基于策略的访问控制 https://github.com/ory/ladon Lado…

NPM 仓库的超集 JSR 来了!

引言 今天在 Deno 博客中看到了一篇文章,介绍了一个叫 JSR 的包管理注册中心,简单尝试了一下觉得还不错,本文将结合原文章和个人体验对 JSR 进行一个详细的介绍。 在现如今的前端开发中,包管理注册中心 (如 npmjs.com) 扮演着至…

Javaweb学习记录(一)Maven

Maven是一款Java项目管理工具,下面将介绍Maven的实际作用和相关的操作 Maven项目依赖的添加 在Maven项目中添加依赖,通过dependencies标签添加所有依赖,所有依赖都添加在里面,而单个依赖就使用dependency标签添加进项目&#xf…

Github 2024-03-17 php开源项目日报 Top9

根据Github Trendings的统计,今日(2024-03-17统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量PHP项目9Blade项目2Laravel:表达力和优雅的 Web 应用程序框架 创建周期:4631 天开发语言:PHP, BladeStar数量:75969 个Fork数量:24281 次关…

电脑充电器能充手机吗?如何给手机充电?

电脑充电器可以给手机充电吗? 电脑充电器可以给手机充电,但前提是电脑充电器的功率输出与手机的功率匹配且接口匹配。 假设电脑充电器的输出功率为5V/2A,手机也支持5V/2A的输入功率。 只要接口匹配,就可以使用电脑充电器给手机充…

kafka无法消费数据

进入zookeeper客户端,将brokers节点下的topics节点下的__consumer_offsets删除就可。 1.在启动zookeeper的前提下,打开./zkCli.sh docker exec -it zookeeper bash //只登录容器,不登录 zkCli./bin/zkCli.sh //执行脚本新建一个Cli…

移动性能测试 iOS17 性能测试脚本

已经 2024 年 3 月中旬了,ios17 版本出来也已经快半年了。 我看到业界主流开源的 ios 性能测试工具都没有还没支持 ios17。包括 tidevice,py-ios-device,solox。 又因为有大佬开源了可以和 ios17 通信的 pymobiledevice3。 所以我这里组装了下…

记录-gitlab-安装在k8s中的一些注意点

一、已有cert-manager的时候如何配置? 1、首先需要创建一个ClusterIssuer apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata:name: letsencrypt-staging spec:acme:# You must replace this email address with your own.# Lets Encrypt will use thi…

Mapper.xml映射文件

Mapper.xml映射文件&#xff1a; <select> resultType如果返回的是集合&#xff0c;那么应该设置为集合包含的类型而不是集合本身的类型 如果参数类型是pojo类型&#xff0c;参数名必须是pojo中的属性名 <insert> session.commit(); session factory.openSessio…

微信开发者工具如何使用?使用注意事项

&#xff08;1&#xff09;单位如何进行换算&#xff1f; 1 px 750/屏幕宽度 rpx 1 rpx 屏幕宽度/750 px &#xff08;2&#xff09;如何新建文件&#xff1f; 1> 点开app.json 2> 在“pages/index/index”后面接“&#xff0c;pages/自定义文件夹名/自定义文件名”…

万界星空科技商业开源MES,技术支持+项目合作

商业开源的一套超有价值的JAVA制造执行MES系统源码 亲测 带本地部署搭建教程 教你如何在本地运行运行起来。 开发环境&#xff1a;jdk11tomcatmysql8springbootmaven 可以免费使用&#xff0c;需要源码价格便宜&#xff0c;私信我获取。 一、系统概述&#xff1a; MES制造执…

LinkedList源码解析和设计思路

一、 继承体系 LinkedList类位于java.util包中&#xff0c;它实现了List接口和Deque接口&#xff0c;LinkedList可以被当做链表、双端队列使用&#xff0c;并且继承自AbstractSequentialList类。在继承关系中&#xff0c;它的父类是AbstractSequentialList&#xff0c;而Abstr…