Jenkins离线安装部署教程简记

前言

在上一篇文章基于Gitee实现Jenkins自动化部署SpringBoot项目中,我们了解了如何完成基于Jenkins实现自动化部署。

对于某些公司服务器来说,是不可以连接外网的,所以笔者专门整理了一篇文章总结一下,如何基于内网直接部署Jenkins。

需要提前说明的是,本文必须要求你具备一下几点:

  1. jdk8
  2. 明确自己所需的Jenkins插件。
  3. maven
  4. git

步骤

创建Jenkins目录

以笔者为例,本次实验是在虚拟机中进行的,所以笔者就在tmp下创建一个jenkins_home作为Jenkins目录。

在这里插入图片描述

下载Jenkins和插件

考虑到Jenkins最新版本要求jdk11,所以笔者在官网选择低于2.35的版本,下载地址https://www.jenkins.io/zh/download/,笔者选择下载项如下所示:

在这里插入图片描述

准备好war包之后,我们就继续准备Jenkins所需要的插件了,读者可以按需到https://plugins.jenkins.io/下载插件。
由于笔者有在外网部署过Jenkins的经历,所以直接到外网版本的Jenkins中直接将插件的文件夹复制下来。最终笔者得到以下的文件和文件夹。

在这里插入图片描述

我们将其上传到Jenkins目录中。

在这里插入图片描述

自此一切准备就绪,我们就开始离线情况下的Jenkins初始化工作了。

前台启动Jenkins

为了确认本次报错我们可以直观的看到和排查,我们在初始化期间会将Jenkins通过前台的方式启动。
命令如下,可以看到笔者这里指定了Jenkins的主目录,这就是我们存放插件和war包的目录位置。

java -DJENKINS_HOME=/tmp/jenkins_home  -jar   /tmp/jenkins_home/jenkins.war  --httpPort=8080

因为是离线状态,所以控制台会输出这些报错,我们完全可以不管。

在这里插入图片描述

不久后控制台输出成功提示。我们到浏览器完成初始化工作。

在这里插入图片描述

初始化Jenkins

有了上一篇文章的经验,我们很容易从/tmp/jenkins_home/secrets/initialAdminPassword得到这个密码,然后点击继续。

在这里插入图片描述

进入下一个页面,Jenkins提示当前处于离线状态,由于我们提前准备好了的插件,并将插件打包到pluns目录存放到Jenkins主目录了,所以我们直接点击跳过插件安装。

在这里插入图片描述

然后输入用户名和密码点击完成。

在这里插入图片描述

明确实例地址,然后点击完成。

在这里插入图片描述

确认插件是否存在

我们找到插件管理

在这里插入图片描述

选择已安装,搜索gitee,可以看到我们的plugins目录下的所有插件都存在了,由此我们初步确定Jenkins离线安装成功了。在这里我们不妨创建一个item测试一下可用性。

在这里插入图片描述

配置以测试

因为有了上一篇教程的基础,所以配置过程笔者这里就略过了,有需要的读者可以看看笔者写的这篇文章基于Gitee实现Jenkins自动化部署SpringBoot项目

由于笔者这里代码是用gitee作实验了,所以在离线安装前完成之后,为了测试笔者还是需要切回外网。完成切换后,我们键入下面这条命令后台启动Jenkins

nohup java -DJENKINS_HOME=/tmp/jenkins_home  -jar   /tmp/jenkins_home/jenkins.war  --httpPort=8080 >/dev/null 2>&1 &

到达登录页面,输入账号密码点击登录

在这里插入图片描述

到达工作页面,点击构建

在这里插入图片描述

可以看到控制台正常输入运行,下载依赖中,我们不妨等待它完成。

在这里插入图片描述

完成后,我们到浏览器访问一下看看服务是否部署成功。

键入网址,访问可以看到笔者的页面输出预期结果,由此得出Jenkins离线部署安装完成了。

在这里插入图片描述

总结

本篇文章我们基于虚拟机实现了Jenkins简单的离线部署过程,我们通过:

  1. 下载Jenkins的war包。
  2. 按需到官网下载插件存放到plugins目录。
  3. 离线初始化跳过插件下载直接启动配置Jenkins。

完成模拟内网项目部署工作,在这个实验中还有美中不足的地方:

  1. 未能集成gitlab导致后续测试还是需要连通外网。
  2. 未搭建maven私服导致依赖也需要连通外网。

所以我们后续的文章会通过Nexus搭建一个简单的maven私服完善这个离线的实验。感谢您的阅读。

参考文献

离线安装jenkins,并离线安装插件

2分钟离线安装Jenkins(windows和linux通用)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TDengine Kafka Connector将 Kafka 中指定 topic 的数据(批量或实时)同步到 TDengine

教程放在这里:TDengine Java Connector,官方文档已经写的很清晰了,不再赘述。 这里记录一下踩坑: 1.报错 java.lang.UnsatisfiedLinkError: no taos in java.library.pathat java.lang.ClassLoader.loadLibrary(ClassLoader.j…

SE考研真题总结(三)

继续更新,今天准备连出两期该系列~ SE考研真题总结(二)https://blog.csdn.net/jsl123x/article/details/134857052?spm1001.2014.3001.5501 目录 一.简答题 二.代码大题 一.简答题 1.工程和科学的区别 科学是关于事物的基本原理和事实的…

102基于matlab的PCA+ELM和PCA+PSO-ELM的费用估计

基于matlab的PCAELM和PCAPSO-ELM的费用估计,输出输出两者的预测误差并进行比较,输出优化后的迭代曲线。数据可更换自己的,程序已调通,可直接运行。 102matlab PCAPSOELM (xiaohongshu.com)

第16章 网络io与io多路复用select/pool/epool

第16.1节 写一个服务端代码 服务端代码 #include <stdio.h> #include <errno.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h>#include <fcntl.h>int main() {//openint sockfd sock…

大数据技术之Storm的安装与配置

大数据技术之Storm的安装与配置 这篇文章深入研究了大数据技术中实时计算系统 Apache Storm 的安装与配置过程。首先&#xff0c;文章介绍了 Apache Storm 在大数据处理中的重要性&#xff0c;强调其在实时数据处理领域的关键作用。随后&#xff0c;详细阐述了如何在系统中进行…

掌握Web、DNS、FTP、DHCP服务器的配置。掌握简单网络方案的规划和设计

1、Web服务器配置 2、综合设计 配置完后,所有的终端主机都要能够访问外网服务器,并进行测试。(本题可以自行选题,自行设计,但必须包含路由器、服务器(web、dns、DHCP、)、交换机及防火墙)。 3.做好规划并搭建拓扑图: 4.给PC机与服务器配置好IP,网关 5.给每个交换机…

【Spring】02 Bean 的命名

文章目录 1. 定义2. 使用优势3. 如何命名4. 注解驱动5. 最佳实践1&#xff09;使用明确的业务名词2&#xff09;避免缩写和首字母缩略词2&#xff09;不要过度使用别名 结语 在 Spring 框架中&#xff0c;Bean 是应用程序中的主要组件&#xff0c;负责承载和管理应用的核心功能…

bugku -- eval

<?phpinclude "flag.php";$a $_REQUEST[hello];eval( "var_dump($a);");show_source(__FILE__); ?> //这段代码包含了一个PHP脚本。首先&#xff0c;它包含了一个名为"flag.php"的文件。然后&#xff0c;它定义了一个变量$a&#xff0c…

SpringBootWeb入门、HTTP协议、Web服务器-Tomcat

目录 一、SpringBootWeb入门 二、HTTP协议 HTTP-请求协议 HTTP-响应协议 HTTP-协议解析 三、Web服务器-Tomcat 服务器概述 Tomcat 一、SpringBootWeb入门 直接基于SpringFramework进行开发&#xff0c;存在两个问题&#xff1a;配置繁琐、入门难度大 通过springboot就…

MATLAB读写txt文件数据与进制转换

文章目录 前言读txt文件读txt中的十进制数据到MATLAB读txt数据的其他进制数据转为十进制到MATLAB读txt内容到MATLAB 写txt文件总:将MATLAB生成的10进制数据转换成十进制和radix进制写入txt分:将MATLAB中十进制数据以radix进制数据格式写入txt文件分:将MATLAB中十进制数据写入tx…

gRPC-Gateway:高效转换 RESTful 接口 | 开源日报 No.105

grpc-ecosystem/grpc-gateway Stars: 16.4k License: BSD-3-Clause gRPC-Gateway 是一个遵循 gRPC HTTP 规范的 gRPC 到 JSON 代理生成器。它是 Google 协议缓冲编译器 protoc 的插件&#xff0c;可以读取 protobuf 服务定义并生成反向代理服务器&#xff0c;将 RESTful HTTP…

linux下配置vscode中的ros的c++调试

第一步 这块是launch.json {"version": "0.2.0","configurations": [{"name": "g - 生成和调试活动文件","type": "cppdbg","request": "launch","program": "${wo…

Facebook运营技巧详解,Facebook多店铺如何运营?

在前不久的文章中就讲过Facebook养号和广告的投放技巧&#xff0c;今天东哥就趁热打铁来接着讲讲Facebook的运营技巧&#xff0c;现在做外贸和跨境电商的人基本上都用过Facebook&#xff0c;像在流量这么庞大的平台上想要抓住更多机遇&#xff0c;懂得一些运营技巧是必不可少的…

解决前端VUE前端框架报错Error: error:0308010C:digital envelope routines::unsupported的几种方法

一、报错信息&#xff1a; Error: error:0308010C:digital envelope routines::unsupportedat new Hash (node:internal/crypto/hash:67:19)at Object.createHash (node:crypto:135:10)at module.exports (E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\we…

鸿蒙开发之页面与组件生命周期

一、页面间的跳转 创建文件的时候记得选择创建page文件&#xff0c;这样就可以在main->resources->profile->main_pages.json中自动形成页面对应的路由了。如果创建的时候你选择了ArkTS文件&#xff0c;那么需要手动修改main_pages.json文件中&#xff0c;添加相应的…

缓存雪崩问题与应对策略

目录 1. 缓存雪崩的原因 1.1 缓存同时失效 1.2 缓存层无法应对高并发 1.3 缓存和后端系统之间存在紧密关联 2. 缓存雪崩的影响 2.1 系统性能下降 2.2 数据库压力激增 2.3 用户请求失败率增加 3. 应对策略 3.1 多级缓存 3.2 限流与降级 3.3 异步缓存更新 3.4 并发控…

OpenHarmony应用开发——更改应用名称和图标

一、前言 相比其他&#xff0c;可能学者更希望学到的就是更改应用名称和图标&#xff0c;当一个自己的程序运行在手机上的时候&#xff0c;或许更有成就感...... 二、详细步骤 首先&#xff0c;我们要先找到声明应用图标和应用名称的地方。如下图所示&#xff0c;在entry ->…

互联网,我们的虚拟世界

同学们&#xff0c;你们知道互联网是干什么的吗&#xff1f;它就像一个虚拟的世界&#xff0c;让我们能够连接到任何地方&#xff0c;获取任何信息&#xff0c;就像你现在正在通过互联网阅读我的文章一样。 互联网 你们有没有想过&#xff0c;如果没有互联网&#xff0c;我们的…

JavaWeb笔记之MySQL数据库

#Author 流云 #Version 1.0 一、引言 1.1 现有的数据存储方式有哪些&#xff1f; Java程序存储数据&#xff08;变量、对象、数组、集合&#xff09;&#xff0c;数据保存在内存中&#xff0c;属于瞬时状态存储。 文件&#xff08;File&#xff09;存储数据&#xff0c;保存…

webpack学习-4.开发环境

webpack学习-4.开发环境 1.mode2.使用source map3.自动编译代码3.1 webpack 的 观察模式3.2 使用 webpack-dev-server3.3 使用 webpack-dev-middleware 4.总结 1.mode 本章的标题一看就是开发环境&#xff0c;那就要引入webpack配置文件的mode了。 mode 属性用于指定 Webpack …