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

centos安装配置jenkins【配置pipeline】

文章目录

  • 总体文件需求
  • 一、安装jdk17
  • 二、安装jenkins
      • 1.安装
      • 2.启动
  • 三、安装git
  • 四、安装maven
      • 1.yum安装
      • 2.配置 Maven 国内镜像源(解决依赖下载慢)
  • 五、安装nodejs
      • 方式1:YUM一键安装
      • 方式2:nvm安装(多版本切换场景)
      • 必做:切换npm国内源(解决下载慢/失败)
  • 六、配置OpenSSh,配置免密码
  • 七、编写pipeline脚本
  • 八、指定jdk
    • 第一步pipline指定使用jdk17编译。
    • 第二步jenkins中配件上面jdk17这个名字
      • 找到"全局工具配置"
      • 找到jdk安装
  • 九、相关链接

总体文件需求

序号内容作用
1jdk17支持环境,jenkins2.5以上用17是推荐的,不推荐1.8版本
2jenkins2.5主要应用
3git获取源代码要用到
4maven编译java程序用到
5nodejs编译vue程序用到

一、安装jdk17

(1)先检查系统是否已装旧版 JDK,避免冲突

java -version #若显示openjdk/java版本信息,可卸载旧版(可选,多JDK可共存) yum remove -y java-1.*-openjdk java-1.*-openjdk-devel

(2)执行安装

查找

yum search java-17-openjdk

执行

# 安装开发版(推荐,包含运行时+编译工具) yum install -y java-17-openjdk-devel # 若仅需运行时(无需编译代码),安装这个即可 # yum install -y java-17-openjdk

二、安装jenkins

1.安装

直接在官网上下载jenkins

上传到centos服务器中。

2.启动

nohupjava-jarjenkins.war&2>1

三、安装git

用于下载源代码

# 1. 先更新YUM源(可选,确保安装最新版Git) yum update -y # 2. 一键安装Git(CentOS 7/8/9 通用) yum install git -y # 3. 验证安装成功(查看Git版本,和Windows Git Bash的验证命令一致) git --version

四、安装maven

1.yum安装

# 1. 一键安装Maven(会自动配置全局环境变量) yum install -y maven # 2. 验证安装成功 mvn -v # 示例输出(CentOS9):Apache Maven 3.8.6 (Red Hat 3.8.6-4)

2.配置 Maven 国内镜像源(解决依赖下载慢)

# 1. 编辑Maven全局配置文件vi/etc/maven/settings.xml# 2. 找到<mirrors>标签,在标签内添加阿里云镜像(替换原有镜像,若无则直接加)
<mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf><url>https://maven.aliyun.com/repository/public</url></mirror>

五、安装nodejs

你需要在CentOS系统中安装Node.js(同时会自动安装npm),适配CentOS 7/8/9,推荐两种最实用的安装方式:YUM一键安装(简单快捷,适合生产)nvm安装(灵活切换多版本,适合开发),两种方式都能直接让node/npm命令全局可用,还会补充环境验证、npm源切换(解决下载慢)的操作

执行所有命令需root权限,普通用户请在命令前加sudo;安装完成后可直接执行node -v/npm -v验证,无需额外配置PATH(两种方式都会自动配置)。

方式1:YUM一键安装

通过NodeSource官方YUM源安装,版本比CentOS自带源新,一键完成无依赖问题,安装后node/npm直接全局可用。

操作步骤

# 1. 安装NodeSource官方源(以Node.js 20.x为例,LTS长期支持版,适配npm 10+,推荐生产)curl-fsSLhttps://rpm.nodesource.com/setup_20.x|bash-# 2. 一键安装Node.js(会自动安装npm,与node版本匹配)yuminstall-ynodejs# 3. 验证安装成功(输出版本即生效)node-v# 示例输出:v20.11.0npm-v# 示例输出:10.2.4

版本切换

若需要其他LTS版本(如18.x、16.x),只需替换第一步的源地址:

  • Node.js 18.x:curl -fsSL https://rpm.nodesource.com/setup_18.x | bash -
  • Node.js 16.x:curl -fsSL https://rpm.nodesource.com/setup_16.x | bash -
  • Node.js 14.x:curl -fsSL https://rpm.nodesource.com/setup_14.x | bash -

本项目使用的是14

方式2:nvm安装(多版本切换场景)

nvm(Node Version Manager)是Node.js版本管理工具,可一键安装/切换多个Node.js版本(如16.x/18.x/20.x),不污染系统环境,适合需要适配不同前端项目的场景。

操作步骤

# 1. 安装nvm(官方脚本,一键完成)curl-o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh|bash# 2. 让nvm立即生效(无需重启系统,刷新环境变量)source~/.bashrc# 3. 验证nvm安装nvm--version# 示例输出:0.39.7# 4. 安装指定Node.js版本(20.x LTS,推荐)nvminstall20# 5. 设置默认版本(全局默认使用20.x,新开终端也生效)nvmaliasdefault20# 6. 验证安装node-vnpm-v

多版本切换用法

# 安装18.x版本nvminstall18# 切换到18.xnvm use18# 查看已安装的所有版本nvmls# 查看可安装的所有版本nvm ls-remote

必做:切换npm国内源(解决下载慢/失败)

CentOS默认用npm官方源(国外),下载依赖会很慢,建议切换为阿里云/npm镜像源,全局配置一次永久生效:

# 切换为阿里云国内源(推荐)npmconfigsetregistry https://registry.npmmirror.com/# 验证源是否切换成功npmconfig get registry# 输出上面的地址即生效# 可选:临时使用源(仅当前命令生效,无需全局配置)npminstall--registryhttps://registry.npmmirror.com/

六、配置OpenSSh,配置免密码

用于传送文件,主要执行下面两条指令

#按默认回车完成ssh-keygen-trsa-b2048#传送密钥到服务器ssh-copy-id 用户名@服务器ip

七、编写pipeline脚本

参考官方文档
https://www.jenkins.io/zh/doc/

下面是我的配置

还要设定定时访问git看有没有新代码,我设定的是定时2分钟去SCM看代码。

这里要选Pipeline script from SCM,表示脚本在代码库里。

在项目下建立一个Jenkinsfile,所有的代码写到这里

下面是我部分的代码
代码解读如下:
stage是章节,可以自己定义,
比如我定义了。编译前端,发布到120服务器,发布到wuxi服务器三个章节
第一步,先npm run build
第二步,scp把生成的文件copy到120服务器的nginx指定的目录
第三步,scp把生成的文件copy到wuxi服务器的nginx指定的目录
同理,如果要发布后端服务也是先mvn package,然后copy到服务中,然后运行。
注意scp,ssh指令就是openssh的命令,如果有不懂的,去查一下这两个指令的意义。

八、指定jdk

如果我自己的spring boot程序需要运行在jdk17中,而我安装jenkins的环境是jdk8.那我要怎么写。

第一步pipline指定使用jdk17编译。

增加tools章节,如下图所示。

第二步jenkins中配件上面jdk17这个名字

找到"全局工具配置"

找到jdk安装

  • 别名:第一步tools指定的名字
  • JAVA_HOME:你下载下来的JDK的目录。

我用的是
下载:wget https://aka.ms/download-jdk/microsoft-jdk-17-linux-x64.tar.gz
解压:tar -zxvf microsoft-jdk-17-linux-x64.tar.gz
然后放到了/home/jdk17

同样指定maven也是这样的套路

九、相关链接

如何一劳永逸的解决这么复杂的过程,建立一个docker image直接pull下来用

http://www.jsqmd.com/news/1273240/

相关文章:

  • 本地AI学习助手OpenClaw:隐私保护与高效学习实践
  • 北京靠谱离婚律师推荐:如何挑选专办财产分割与抚养权纠纷的知名婚姻律所及注意事项 - 商讯
  • Linux服务器入侵应急响应实战:从Webshell告警到攻击链路溯源
  • 2026年7月苏州GEO搜索服务行业研究报告:内容持续更新情况分析 - 速递信息
  • DM3730/DM3725引脚复用与电气特性设计全解析
  • 探索高效AI助手:全面掌握Goose桌面应用可视化操作指南
  • Claude Code架构解析与工程实践指南
  • 无机陶瓷膜设备如何解决工业分离难题,2026技术升级解析 - 品牌优选官
  • TMS320LF240xA DSP电机控制:核心架构、外设配置与实战指南
  • 基于AsyncHttpClient实现CSP与混合内容安全策略的工程实践
  • 除甲醛遭遇信息贩子?深度揭秘行业灰色产业链,4 个硬核方法避开转包陷阱 - 速递信息
  • AI代理间端到端加密文件传递:YAFL库原理与实践指南
  • 深度学习实战指南:从理论到神经符号推理的完整路径
  • 神农架青少年武术培训机构排名,武当山精武武校值得去吗 - 圣龙武术朱老师
  • geo机构哪家靠谱榜单TOP5(2026年7月):六大维度横评帮你选对不踩坑 - 资讯在线
  • 太原口碑好的装修公司 - GrowthUME
  • DM6435外设接口时序与寄存器配置实战指南
  • ReAct模式解析:AI如何实现推理与行动的智能循环
  • 北京婚姻纠纷律师怎么选?2026年值得参考的律所指南 - 商业大观
  • 深入解析TI NDK Mini-Driver架构:嵌入式网络驱动开发实战指南
  • RAG-MCP框架:提升大模型工具调用效率的创新方案
  • PP-OCRv4服务器端文本识别解决方案:高精度OCR模型架构实践
  • 2026 年 7 月江城黄金回收全域测评|武汉三镇 6 家合规实体门店网格化盘点、行情解读、全人群变现避坑指南 - 不晚生活号
  • Kimi K3非蒸馏技术突破:从模型优化到架构创新的AI发展新路径
  • 如何用FunASR构建智能语音识别系统:从个人应用到企业部署的完整指南
  • 图书管理员证书怎么考?2026年报名入口、考试内容及取证周期 - 中科资质认证报考中心
  • C++反射实现全解析:从编译时元编程到运行时动态类型操作
  • 优化第二次作业设计的教学实践指南
  • C/C++ for循环进阶:从内存池到图像卷积的实战面试技巧
  • 神农架叛逆孩子管教学校推荐,武当山精武武校矫正效果怎么样 - 圣龙武术朱老师