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的,配置完点击保存。

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

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

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

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

相关文章

PotatoPie 4.0 实验教程(27) —— FPGA实现摄像头图像拉普拉斯边缘提取

拉普拉斯边缘提取有什么作用&#xff1f; 拉普拉斯边缘检测是一种常用的图像处理技术&#xff0c;用于检测图像中的边缘和边界。它的主要作用包括&#xff1a; 边缘检测&#xff1a;拉普拉斯算子可以帮助检测图像中的边缘&#xff0c;即图像中亮度快速变化的位置。这些边缘通常…

前端HTML5学习2(新增多媒体标签,H5的兼容性处理)

前端HTML5学习2新增多媒体标签&#xff0c;H5的兼容性处理&#xff09; 分清标签和属性新增多媒体标签新增视频标签新增音频标签新增全局属性 H5的兼容性处理 分清标签和属性 标签&#xff08;HTML元素&#xff09;和属性&#xff0c;标签定义了内容的类型或结构&#xff0c;而…

RocketMQ 消息重复消费

现象 触发消息后&#xff0c;在1s内收到了两次消息消费的日志。 消息消费日志重复&#xff0c;reconsumeTimes0&#xff0c;主机实例也不同&#xff0c;说明是同一条消息被消费了两次 分析 生产者发送消息的时候使用了重试机制&#xff0c;发送消息后由于网络原因没有收到MQ…

永磁同步电机PMSM负载状态估计simulink模型

永磁同步电机PMSM负载状态估计simulink模型&#xff0c;龙伯格观测器&#xff0c;各种卡尔曼滤波器&#xff0c;矢量控制&#xff0c;坐标变换&#xff0c;永磁同步电机负载转矩估计&#xff0c;pmsm负载转矩测量&#xff0c;负载预测&#xff0c;转矩预测的matlab/simulink仿真…

【C++】---STL容器适配器之queue

【C】---STL容器适配器之queue 一、队列1、队列的性质 二、队列类1、队列的构造2、empty()3、push()4、pop()5、size()6、front()7、back() 三、队列的模拟实现1、头文件&#xff08;底层&#xff1a;deque&#xff09;2、测试文件3、底层&#xff1a;list 一、队列 1、队列的…

【NR RedCap】Release 18标准中对5G RedCap的增强

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G技术研究。 博客内容主要围绕…

R语言贝叶斯方法在生态环境领域中的应用

贝叶斯统计已经被广泛应用到物理学、生态学、心理学、计算机、哲学等各个学术领域&#xff0c;其火爆程度已经跨越了学术圈&#xff0c;如促使其自成统计江湖一派的贝叶斯定理在热播美剧《The Big Bang Theory》中都要秀一把。贝叶斯统计学即贝叶斯学派是一门基本思想与传统基于…

使用微信开发者工具模拟微信小程序定位

哈喽&#xff0c;各位同僚们&#xff0c;我们平时在测试微信小程序的时候&#xff0c;如果小程序中有获取定位或者地图的功能&#xff0c;测试场景中常常需要去模拟不同的位置&#xff0c;例如我们模拟在电子围栏的外面、里面和边界区域等。那么&#xff0c;我们如何在模拟微信…

[笔试训练](八)

目录 022&#xff1a;求最小公倍数 023&#xff1a;数组中的最长连续子序列 024&#xff1a;字母收集 022&#xff1a;求最小公倍数 求最小公倍数_牛客题霸_牛客网 (nowcoder.com) 题目&#xff1a; 题解&#xff1a; 求最小公倍数公式&#xff1a;lcm(a,b)a*b/gcd(a,b)&am…

创建springboot项目的问题

IDEA搭建spring boot时报错Error: Request failed with status code 400 Could not find artifact org.springframework.boot:spring-boot-starter-parent:pom:3.2.5.RELEASE in alimaven (http://maven.aliyun.com/nexus/content/repositories/central/) 原因是父级依赖的版本…

Web前端开发 小实训(一) 成绩分类统计

用于学生web前端开发课程实训练习&#xff0c;掌握基本语法和数据类型 实训目的 使用分支语句&#xff0c;完成分数统计与等级对比,通过输入框输入分数&#xff0c;可以根据分数多少划分等级。 参考思路&#xff1a; 分析题目&#xff1a;根据输入分数进行等级划分。 操作过…

yolov8 dll 编译

1. 每次用yolo v8 都要用python &#xff0c;对于我这种写软件的太不方便了&#xff0c;下面尝试编译dll 调用, 我已经有做好的模型.best.pt 参考视频方法: yolov8 TensorRT C 部署_哔哩哔哩_bilibili 【yolov8】tensorrt部署保姆级教程&#xff0c;c版_哔哩哔哩_bilibili 需…

怎么做视频二维码更方便?在线一键生成视频活码二维码

现在经常会发现很多的二维码可以用来展示视频内容&#xff0c;通过这种方式来实现视频的快速分享与传播。二维码是一种成本低传播快的内容传播方式&#xff0c;很多的内容都可以通过生成二维码的方式来分享给其他人&#xff0c;可以同时扫描相同的二维码来获取内容&#xff0c;…

电脑的无用设置功能(建议关闭)

目录 1、传递优化 ​2、常规​ 3、电源 1、传递优化 2、常规3、电源

Vue2和Vue3的生命周期对比

beforeCreate 、created 两个钩子被setup()钩子来替代。 所有生命周期前面加了on

【Kotlin】Channel简介

1 前言 Channel 是一个并发安全的阻塞队列&#xff0c;可以通过 send 函数往队列中塞入数据&#xff0c;通过 receive 函数从队列中取出数据。 当队列被塞满时&#xff0c;send 函数将被挂起&#xff0c;直到队列有空闲缓存&#xff1b;当队列空闲时&#xff0c;receive 函数将…

PotatoPie 4.0 实验教程(41) —— FPGA实现RISC-V 扩展 GPIO UART Timer功能

TD工程介绍 我们提供的TD工程里的RISC-V核默认就开启了GPIO UART扩展&#xff0c;可以看到还有SPI和I2C扩展。因此后面的实验中TD的工程我们基本不怎么修改TD的内容&#xff0c;只需要修改TD工具中Soc_Top.v文件中的TCM0_INITFILE为FD生成的固件名称即可&#xff0c;主要修我以…

数据集市的详细建设方案!

▶ 什么是数据集市&#xff1f; 数据集市是处理单一事务的数据仓库的子集。它们通常由单个业务部门构建和管理。由于它们是面向主题的&#xff0c;因此通常仅从少数来源获取数据&#xff0c;这些来源可能是内部操作系统&#xff0c; 数据湖&#xff0c;一个集中的 数据存储库&a…

c++理论篇(一) ——浅谈tcp缓存与tcp的分包与粘包

介绍 在网络通讯中,Linux系统为每一个socket创建了接收缓冲区与发送缓冲区,对于TCP协议来说,这两个缓冲区是必须的.应用程序在调用send/recv函数时,Linux内核会把数据从应用进程拷贝到socket的发送缓冲区中,应用程序在调用recv/read函数时,内核把接收缓冲区中的数据拷贝到应用…

Android 设置头像 - 相册拍照

Android开发在个人信息管理中&#xff0c;如果设置头像&#xff0c;一般都提供了从相册选择和拍照两种方式。下午将针对设置用户头像相册和拍照两种方式的具体实现进行详细说明。 在实际实现过程中需要使用到权限管理&#xff0c;新版本的Android需要动态申请权限&#xff0c;权…