Jenkins详细安装教程

  • - [ ] --- theme: devui-blue

FinalShell

阿里云服务器 CentOS 8.2

一、环境安装

Java 11

​编辑

根据jenkins官网:

自 Jenkins 2.357 和 LTS 2.361.1 起,Jenkins 需要 Java 11 或 17,在这里我们将安装Java 11版本

命令:

  • sudo yum install java-11-openjdk
  • java --version ---查询java版本
  • which java ---查询java安装路径
  • java环境变量配置:
  1. vim /etc/profile

  2. 文件末添加:

export JAVA_HOME=which java查询到的路径

export PATH= <math xmlns="http://www.w3.org/1998/Math/MathML"> J A V A H O M E / b i n : JAVA_HOME/bin: </math>JAVAHOME/bin:PATH

export CLASSPATH=.: <math xmlns="http://www.w3.org/1998/Math/MathML"> J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: </math>JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

ESC键,然后:wq退出

source /etc/profile ---使配置的环境变量文件生效


Git和Node

Git安装命令:

  • yum install git

使用nvm安装多版本的node:

nvm是node.js的版本管理软件,可以轻松在Node.js各个版本间进行切换。适用于有快速更新node版本、快速切换node版本的场景。

使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本。

激活NVM

  • echo ". ~/.nvm/nvm.sh" >> /etc/profile
  • source /etc/profile

进入根目录下修改镜像源(镜像源不唯一),命令:

  1. cd

  2. vim ~/.bashrc

  3. 在文件末尾添加:

export NVM_NODEJS_ORG_MIRROR=nodejs.org/dist

ESC键,然后:wq退出

source ~/.bashrc

nvm查询node版本并安装

  • nvm list-remote
  • nvm install v版本号
  • nvm ls ---查询已安装的node版本
  • nvm use 版本号 ---切换node版本
  • node -v ---查询当前node版本
  • npm -v ---查询当前npm版本

Nginx

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强。

特点:负载均衡、反向代理

安装命令

  • yum install -y nginx
  • systemctl start nginx.service
  • systemctl enable nginx.service ---设置开机启动

浏览器输入服务器IP出现以下界面说明安装成功

​编辑


二、Jenkins安装

​编辑

根据jenkins官网:

每 12 周从常规版本流中选择一个LTS(长期支持)版本作为该时间段的稳定版本。它可以从 yum 存储库安装

命令:

  1. vim /etc/init.d/jenkins\
  2. 找到文件中的candidates=' ',在引号末尾添加:which java查询到的路径\

ESC键,然后:wq退出

systemctl daemon-reload

  1. vim /usr/lib/systemd/system/jenkins.service

  2. 文件找到User和Group修改为:

    User=root

    Group=root

ESC键,然后:wq退出

systemctl daemon-reload

进入jenkins目录,可通过whereis jenkins查询

  • cd 查询到的路径
  • sudo systemctl start jenkins ---启动jenkins服务
  • 浏览器输入 http://ip:8080

注意!!!

出现启动不成功的问题时,根据提示输入命令查看日志

  • systemctl status jenkins

如果只出现Warning大概率是网络问题,此时会一直处于启动中,只需要漫长等待即可,当浏览器页面更新时,说明你成功了!

如果等待时间过久,可以重启jenkins:

  • systemctl stop jenkins
  • systemctl start jenkins

三、Jenkins启动成功

启动成功后的配置步骤将以图片展示,由于本人已安装chinese插件,所以显示的是中文,刚登录时默认为英文,当你安装对应插件重启后即可呈现中文界面

此处踩坑无数,后面会将出现的重要问题进行总结

1. 查看登录密码

  • vim /var/lib/jenkins/secrets/initialAdminPassword

​编辑


2. 插件选择

​编辑

​编辑


3. 更换镜像站

mirrors.tuna.tsinghua.edu.cn/jenkins/\ 或者
updates.jenkins.io/update-cent...

或......

​编辑​

​编辑​

​编辑​

​编辑​


4. 插件安装

安装完成后记得重启jenkins,重启方式见上图

​编辑


5. node配置

此处将展示两种node配置方式

  • 安装目录配置
  • 自动安装配置

​编辑​

​编辑​

​编辑​


6. 项目配置

​编辑

​编辑​

​编辑​

​编辑​

​编辑​

shell命令(以前端项目为例):

  1. npm install
    下载工作区npm包
  2. rm -rf ./dist/*
    删除dist目录下的所有文件,dist目录即为当前jenkins工作区打包后的文件
  3. npm run build
    执行打包命令
  4. rm -rf /usr/share/nginx/html/advanced/*
    删除服务器上/usr/share/nginx/html/advanced/ 目录下的所有文件
    该目录为服务器项目放置位置,可自己定义
  5. cp -rf ./dist/* /usr/share/nginx/html/advanced/
    把当前构建工作区dist目录里的文件 copy 到服务器/usr/share/nginx/html/advanced 文件夹下

四、其他问题

1. 出现403

脚本命令行输入命令运行

  • hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION = true

​编辑

2. 配置Node时无下拉版本选择

​编辑

解决方案:

1)找到jenkins下的updates文件夹,可能存在于

  • /var/jenkins_home/updates
  • /var/lib/jenkins/updates

注:

先cd进入根目录 再cd进入以上两个路径

如果以上两个路径都不存在,可使用命令查找服务器上的hudson.plugins.nodejs.tools.NodeJSInstaller文件

  • find / -name 文件名称

如果找不到updates文件夹和hudson.plugins.nodejs.tools.NodeJSInstaller文件,莫着急,另一种解决方案放在最后

2)在文件夹下添加hudson.plugins.nodejs.tools.NodeJSInstaller文件,文件内容可在清华镜像站获取

3)添加后重启jenkins

Index of /jenkins/updates/updates/ | 清华大学开源软件镜像站 | Tsinghua Open Source MirrorIndex of /jenkins/updates/updates/ | 清华大学开源软件镜像站,致力于为国内和校内用户提供高质量的开源软件镜像、Linux 镜像源服务,帮助用户更方便地获取开源软件。本镜像站由清华大学 TUNA 协会负责运行维护。https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/updates/

​编辑

​编辑

当你找不到updates文件夹或者配置文件重启后 依然没有出现下拉框版本选择,恭喜你中奖了这个问题非常诡异,本人调研了大量资料也没能成功解决,最终经过无数次重启系统莫名其妙的出现了!

所以上面给出了两种配置node的方法,当没有版本选择 时我们可以通过安装目录自行配置


五、结语

Jenkins是一个用 Java 编写的开源自动化软件项目。是基于Java开发的一种持续集成工具,用于监控持续重复的工作。Jenkins 用于持续构建和测试软件项目 ,集成了各种开发生命周期过程,包括构建、文档、测试、打包、模拟、部署、静态分析等等。
Jenkins可以将工程构建到多台机器,使我们更好地利用硬件资源,节省时间,也就是说,我们可以通过脚本命令行将我们的项目部署到服务器上,无论是Vue、React、Node还是Java项目
Jenkins安装之路异常艰辛,此篇文章目的是希望可以帮助想通过jenkins实现自动构建并部署项目 的同学,大坑已填平,如安装过程有任何疑问或遇到文章未提及的奇葩问题,欢迎评论或私信留言~~~

制作不易,如有帮助一二,记得一键三连哦~~ 😁💖🤞 salute

相关推荐
朱杰jjj2 天前
解决jenkins的Exec command命令nohup java -jar不启动问题
java·jenkins·jar
ldj20204 天前
Jenkins 部署脚本
jenkins
你想考研啊4 天前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins
你想考研啊4 天前
四、jenkins自动构建和设置邮箱
运维·jenkins
Code blocks4 天前
使用Jenkins完成springboot项目快速更新
java·运维·spring boot·后端·jenkins
会又不会4 天前
Jenkins-Email Extension 插件插件
运维·jenkins
东林牧之4 天前
CICD[导航]、docker+gitlab+harbor+jenkins从安装到部署
docker·gitlab·jenkins
biass5 天前
jenkins角色权限
运维·jenkins
tomorrow.hello5 天前
Jenkins Pipeline(二)
运维·jenkins
会又不会5 天前
Jenkins-Publish HTML reports插件
运维·jenkins