目录
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=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3.ESC键,然后:wq退出
source /etc/profile ---使配置的环境变量文件生效
Git和Node
Git安装命令:
- yum install git
使用nvm安装多版本的node:
nvm是node.js的版本管理软件,可以轻松在Node.js各个版本间进行切换。适用于有快速更新node版本、快速切换node版本的场景。
使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本。
- git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout git describe --abbrev=0 --tags
激活NVM
- echo ". ~/.nvm/nvm.sh" >> /etc/profile
- source /etc/profile
进入根目录下修改镜像源(镜像源不唯一),命令:
1. cd
2. vim ~/.bashrc
3. 在文件末尾添加:
export NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist
4.
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 存储库安装
命令:
- sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
- sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
- sudo yum install jenkins
- sudo systemctl daemon-reload
- jenkins环境配置:
1. vim /etc/init.d/jenkins
2. 找到文件中的candidates=' ',在引号末尾添加:which java查询到的路径
3.ESC键,然后:wq退出
systemctl daemon-reload
4. vim /usr/lib/systemd/system/jenkins.service5. 文件找到User和Group修改为:
User=root
Group=root6.
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. 更换镜像站
https://mirrors.tuna.tsinghua.edu.cn/jenkins/
或者
http://updates.jenkins.io/update-center.json
或......
4. 插件安装
安装完成后记得重启jenkins,重启方式见上图
5. node配置
此处将展示两种node配置方式
- 安装目录配置
- 自动安装配置
6. 项目配置
shell命令(以前端项目为例):
- npm install
下载工作区npm包- rm -rf ./dist/*
删除dist目录下的所有文件,dist目录即为当前jenkins工作区打包后的文件- npm run build
执行打包命令- rm -rf /usr/share/nginx/html/advanced/*
删除服务器上/usr/share/nginx/html/advanced/ 目录下的所有文件
该目录为服务器项目放置位置,可自己定义- 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
当你找不到updates文件夹或者配置文件重启后依然没有出现下拉框版本选择,恭喜你中奖了这个问题非常诡异,本人调研了大量资料也没能成功解决,最终经过无数次重启系统莫名其妙的出现了!
所以上面给出了两种配置node的方法,当没有版本选择时我们可以通过安装目录自行配置
五、结语
Jenkins是一个用 Java 编写的开源自动化软件项目。是基于Java开发的一种持续集成工具,用于监控持续重复的工作。Jenkins 用于持续构建和测试软件项目 ,集成了各种开发生命周期过程,包括构建、文档、测试、打包、模拟、部署、静态分析等等。
Jenkins可以将工程构建到多台机器,使我们更好地利用硬件资源,节省时间,也就是说,我们可以通过脚本命令行将我们的项目部署到服务器上,无论是Vue、React、Node还是Java项目
Jenkins安装之路异常艰辛,此篇文章目的是希望可以帮助想通过jenkins实现自动构建并部署项目的同学,大坑已填平,如安装过程有任何疑问或遇到文章未提及的奇葩问题,欢迎评论或私信留言~~~
制作不易,如有帮助一二,记得一键三连哦~~ 😁💖🤞 salute