jenkins教程

devtools/2024/9/20 7:16:25/ 标签: jenkins, 运维

jenkins

  • 一、简介
  • 二、下载安装
  • 三、配置jdk、maven和SSH
  • 四、部署微服务

一、简介

Jenkins是一个流行的开源自动化服务器,用于自动化软件开发过程中的构建、测试和部署任务。它提供了一个可扩展的插件生态系统,支持各种编程语言和工具。

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

自动部署流程:
在这里插入图片描述

二、下载安装

安装:控制台输入

# 下载jenkins的war包,v2.346.x支持jdk1.8,高于这个版本的最低都jdk11起步
wget http://mirrors.jenkins.io/war-stable/2.346.3/jenkins.war

运行war包命令

nohup java -jar jenkins.war --httpPort=9080 > jenkins.log &

运行后即可打开网页:http://localhost:9080

1、进入页面会先等待
在这里插入图片描述2、解锁jenkins

jenkins.log 就可以看到

在这里插入图片描述
3、安装插件,直接使用他推荐的即可
在这里插入图片描述

可能会出现很多安装失败,没关系,可以进去里面再安装我们需要的插件。

4、创建用户
在这里插入图片描述
后面就直接使用默认的即可进入jenkins
在这里插入图片描述
5、可在这里补充插件

在这里插入图片描述


解决jenkins安装插件提示低版本问题:
系统管理 > 插件管理 > 高级

在这里插入图片描述

url修改为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-2.346/update-center.json

修改配置文件

# 查找jenkins配置文件路径,我的是在/root/.jenkins/updates/default.json
find / -name default.json
# 备份
cp default.json default.json.bak
# 下载清华配置文件
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-2.346/update-center.json
# 改名
mv update-center.json default.json
# kill 9080端口的pid,重启jenkins

要安装以下插件:

在这里插入图片描述
在这里插入图片描述

三、配置jdk、maven和SSH

前提:

  • 安装jdk
  • 安装maven
  • 安装git

maven安装:

# 安装目录
cd /usr/local
# 根据需要下载对应版本
wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
# 解压
tar -vxf apache-maven-3.6.3-bin.tar.gz# 添加环境变量
#vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=${PATH}:${MAVEN_HOME}/bin
# 使环境变量配置生效
source /etc/profile

使用 阿里云镜像

maven包里找到配置文件settings.xml,我的就在/usr/local/apache-maven-3.6.3/conf里

 <!--阿里云镜像--><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>            </mirror>

指定仓库
在这里插入图片描述
在这里插入图片描述

git 安装:

# yum安装git
yum install git# 查看Git版本
git --version

然后执行ssh-keygen -t rsa,一路回车,最后在~下会看见.ssh下生成两个文件:id_rsa, id_rsa.pub,复制id_rsa.pub中的内容

在这里插入图片描述

然后去git ssh管理 添加密钥


进入系统管理==》全局工具配置

在这里插入图片描述

配置jdk、maven

在这里插入图片描述

在这里插入图片描述

3、配置git

在这里插入图片描述

配置完点击应用,保存

4、配置Publish Over SSH:整个工具,将来把 Jenkins 打包好的,jar 上传到应用服务器上。

  1. 在Jenkins主界面——>系统管理——>插件管理,安装Publish Over SSH插件,

在这里插入图片描述

  1. 在Jenkins主界面——>系统管理——>系统配置,找到Publish over SSH,对SSH进行配置让其连接远程服务器。

在这里插入图片描述在这里插入图片描述

四、部署微服务

1、新建项目
在这里插入图片描述
2、选择git并指定分支
在这里插入图片描述

在这里插入图片描述

3、往下拉,选这个Send files or execute commands over SSH
在这里插入图片描述

4、在里面填入这些,往下看,我会一个个的说下每一个都是什么意思的

在这里插入图片描述
第一个104就是我们在上面配置的要部署服务的服务器

第二个sakura-service/sakura-order/target/sakura-order-1.0.0.jar路径是我们项目打包后jar包的路径,但是要注意项目结构,这里路径错了后面jar推送不过去的,当然你要是只有一个jar包可以写 **/target/*.jar
下面是我的项目目录

在这里插入图片描述第三个sakura-service/sakura-order/target/路径是我们推送jar包到目标服务器后要去掉的路径,在上面我们配置的路径是/usr/local/webapp,如果不加这个那么最终jar包推送过去目录就是/usr/local/webapp/sakura-service/sakura-order/target/,加了这个就会去掉sakura-service/sakura-order/target/

第三个/sakura-order是补充目录,就是我想把我的jar放在/usr/local/webapp/sakura-order下面,因为我这是个微服务有很多模块,所以我不想放在一起

最后这个sh /usr/local/webapp/sh_folder/start.sh就是启动jar包的脚本,这个需要先放到指定位置的

像我这种多个模块可以继续在下面add的,配置完点击保存。

点击立即构建
在这里插入图片描述

点击可以查看构建情况,再提醒大家一下,不用的构建历史记得删除掉,会占内存
在这里插入图片描述


http://www.ppmy.cn/devtools/26830.html

相关文章

java-springmvc 01 补充 javaweb 三大组件Servlet,Filter、Listener(源码都是tomcat8.5项目中的)

01.JavaWeb三大组件指的是&#xff1a;Servlet、Filter、Listener,三者提供不同的功能 这三个在springmvc 运用很多 Servlet 01.Servlet接口&#xff1a; public interface Servlet {/*** 初始化方法* 实例化servlet之后&#xff0c;该方法仅调用一次 * init方法必须执行完…

selenium之document.querySelector()方法

document.querySelector()方法 1. 常用的三种获取元素的js方式 document.getElementById("");document.getElementsByClassName();document.getElementsByTagName(); var docdocument;var boxdoc.getElementById("box");var libox.getElementsByTagName(…

Oracle数据常驻程序内存优化【数据库实例优化系列三】

Oracle程序常驻程序内存优化【数据库实例优化系列二】-CSDN博客 在生产中,为提高用户的访问速度。可以将经常使用的表常驻与内存中。避免频繁的访问磁盘,降低IO。 虽然会占用一定的内存,但是效果还是很明显的。 如果不是用了,DBA可以将其删除。 一、数据缓冲池 数据库…

Kafka 2.13-3.7.0 在 Windows 上的安装与配置指南

在本文中&#xff0c;我将引导您完成在Windows操作系统上安装Apache Kafka 2.13-3.7.0的全过程&#xff0c;包括下载Scala运行环境、Kafka软件包、配置相关设置&#xff0c;并最终启动Kafka服务。此外&#xff0c;还会简要介绍如何使用客户端工具进行查看和管理。 Kafka的命名…

MAC M1电脑部署Grafana+Prometheus+Node_exporter

一、安装 1、grafana安装 brew install grafana 2、prometheus安装 brew install prometheus 3、node_exporter安装 brew install node_exporter 二、启动 1、grafana启动 brew services start grafana 2、prometheus启动 brew services start prometheus 3、node_exporter启动…

Scala 多版本下载指南

Scala&#xff0c;这一功能丰富的编程语言&#xff0c;结合了面向对象和函数式编程的精华&#xff0c;为开发者提供了强大的工具来构建高效、可扩展的应用程序。随着Scala社区的不断壮大和技术的演进&#xff0c;多个版本的Scala被广泛应用于不同的项目与场景中。本文旨在为您提…

什么ISP是住宅IP,和普通IP有什么区别?

ISP&#xff08;Internet Service Provider&#xff09;即互联网服务提供商&#xff0c;是向广大用户综合提供互联网接入业务、信息业务和增值业务的电信运营商。住宅IP&#xff0c;也称为家庭IP&#xff0c;是指由ISP分配给家庭或个人用户的IP地址。这些IP地址是真实的&#x…

远程仓库——GitHub

远程仓库——GitHub 一、在GitHub创建远程仓库二、在GitHub上添加密钥三、克隆远程仓库的代码到本地四、如何将本地仓库第一次同步到Github五、总结1.常用命令总结 注意&#xff1a;本文主要讲解的是&#xff0c;如何快速的将本地仓库的代码托管到GitHub上&#xff0c;如果不知…

物联网五层架构:每一层都扮演着不可或缺的角色——青创智通

物联网五层架构涵盖了感知层、网络层、数据层、应用层和业务层&#xff0c;每一层都扮演着不可或缺的角色&#xff0c;共同构成了物联网的完整生态系统。下面我们将详细探讨这五层架构的功能和特点。 首先&#xff0c;感知层是物联网的起点&#xff0c;负责获取和识别各种物理世…

手把手教数据结构与算法:优先级队列(银行排队问题)

队列 基本概念 队列的定义 队列&#xff08;Queue&#xff09;&#xff1a;队列是一种常见的数据结构&#xff0c;遵循先进先出&#xff08;First-In-First-Out, FIFO&#xff09;的原则。在队列中&#xff0c;元素按照进入队列的顺序排列。队列是一个线性的数据结构&#x…

低功耗数字IC后端设计实现典型案例| UPF Flow如何避免工具乱用Always On Buffer?

下图所示为咱们社区低功耗四核A7 Top Hierarchical Flow后端训练营中的一个案例&#xff0c;设计中存在若干个Power Domain&#xff0c;其中Power Domain2(简称PD2)为default Top Domain&#xff0c;Power Domain1&#xff08;简称PD1&#xff09;为一个需要power off的domain&…

SpringBoot的旅游网站的设计与实现 - 源码免费(私信领取)

1. 研究目的 本项目旨在设计并实现一个基于Spring Boot的旅游网站&#xff0c;为用户提供便捷的旅游信息查询、预订服务&#xff0c;以及旅游资讯分享功能&#xff0c;提升用户旅游体验。 2. 研究要求 a. 需求分析 通过市场调研和用户需求分析&#xff0c;了解用户对旅游网…

C语言(操作符)1

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸各位能阅读我的文章&#xff0c;诚请评论指点&#xff0c;关注收藏&#xff0c;欢迎欢迎~~ &#x1f4a5;个人主页&#xff1a;小羊在奋斗 &#x1f4a5;所属专栏&#xff1a;C语言 本系列文章为个人学习笔记&#x…

vue3、element-plus递归实现动态菜单

vue3、element-plus递归实现动态菜单 使用场景&#xff1a;动态菜单为什么使用递归递归在动态菜单中的实现 使用场景&#xff1a;动态菜单 动态菜单是指菜单项的数量和层次结构可能是动态的&#xff0c;通常来自后端或用户输入。这些菜单的特征包括&#xff1a; 多层嵌套&…

Redis---------实现短信登录业务

目录 基于Session的短信登录 ①首先看他的业务逻辑 ②进行代码逻辑处理 基于Redis的短信登录 ①首先看他的业务逻辑 ②进行代码逻辑处理 Controller&#xff1a; Service接口&#xff1a; Service实例&#xff1a; Mapper&#xff1a; 封装ThreadLocal线程的数据操作&#x…

上传jar到github仓库,作为maven依赖存储库

记录上传maven依赖包到github仓库问题 利用GitHubPackages作为依赖的存储库踩坑1 仓库地址问题踩坑2 Personal access tokens正确姿势一、创建一个普通仓库&#xff0c;比如我这里是fork的腾讯Shadow到本地。地址是&#xff1a;https://github.com/dhs964057117/Shadow二、生成…

开源博客项目Blog .NET Core源码学习(19:App.Hosting项目结构分析-7)

本文学习并分析App.Hosting项目中后台管理页面的主页面。如下图所示&#xff0c;开源博客项目的后台主页面采用layui预设类layui-icon-shrink-right设置样式&#xff0c;点击主页面中的菜单&#xff0c;其它页面采用弹框或者子页面形式显示在主页面的内容区域。   后台主页面…

【八股】UML 2的基础结构和上层结构

UML&#xff08;统一建模语言&#xff09;是一种广泛使用的建模语言&#xff0c;用于软件工程中的系统设计。UML 2是UML的一个重要版本&#xff0c;它扩展了原有的功能&#xff0c;提供了更加丰富和灵活的建模能力。UML 2的结构可以分为两部分&#xff1a;基础结构&#xff08;…

私域流量运营平台:助力企业实现用户转化与营销新突破

​在当今数字化时代&#xff0c;私域流量运营已成为企业营销的重要一环。私域流量运营平台&#xff0c;作为助力企业实现精准营销、提升用户转化的工具&#xff0c;正逐渐受到市场的青睐。本文将详细介绍私域流量运营平台的功能、特点、优势、适用场景及使用方法&#xff0c;帮…

【PyTorch与深度学习】1、PyTorch介绍与张量的创建

课程地址 最近做实验发现自己还是基础框架上掌握得不好&#xff0c;于是开始重学一遍PyTorch框架&#xff0c;这个是课程笔记 1. 张量Tensor 张量是一种特殊的数据结构&#xff0c;与数组和矩阵非常相似。在 PyTorch 中&#xff0c;我们使用张量对模型的输入和输出以及模型的…