Jenkins安装与配置指南
Jenkins 安装与配置指南
前言
安装jenkins前必须先安装jdk,最新版的jenkins需要jdk11以上。这里我安装jenkins-2.346+jdk8(jdk1.8),同时安装好git和maven,做好配置,方便后期使用。
下图是各jenkins版本和所需jdk版本的匹配图
https://www.jenkins.io/doc/book/platform-information/support-policy-java/
!> 注意,一定要匹配版本,否则后续安装Jenkins会缺失依赖。
步骤一:安装 JDK
安装JDK(自行百度或者参照笔记文章 Linux篇)
步骤二:下载并安装 Jenkins
wget https://repo.huaweicloud.com/jenkins/redhat-stable/jenkins-2.346.3-1.1.noarch.rpm
rpm -ivh jenkins-2.346.3-1.1.noarch.rpm
配置 jenkins JDK路径
vim /etc/init.d/jenkins
执行 :wq
保存
步骤三:修改 Jenkins 用户权限为 root
编辑 /etc/sysconfig/jenkins
文件,将 JENKINS_USER
设置为 “root”:
vim /etc/sysconfig/jenkins
执行 :wq
保存
步骤四:启动 Jenkins 服务
# 在 /etc/init.d/ 目录下执行
./jenkins start # 启动服务
./jenkins stop # 关闭服务
./jenkins restart # 重启服务
确保防火墙允许外部访问 Jenkins,默认端口为 8080:
# 开启防火墙 8080 端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
systemctl restart firewalld # 重启防火墙服务
在云主机环境下,还需在云服务商控制台中配置相应的入站规则。
获取 Jenkins 默认登录密码
cat /var/lib/jenkins/secrets/initialAdminPassword
步骤五 登录 Jenkins 并完成初始化配置
可以选择推荐安装或者自定义选择插件安装
也可以选择无
无需下载插件,因为很多插件下载太慢,容易下载失败浪费时间,后面针对性下载所需插件即可
设置中文显示
点击 Dashboard>Manage Jenkins>Plugin Manager 我的是已经安装了的。
下载
Localization: Chinese (Simplified)
Locale
设置为中文
重启jenkins
cd /etc/init.d/
./jenkins restart
重新设置语言为中文显示,点击保存即可
安装插件(和中文插件安装方式一样,搜索对应插件,勾选安装)
步骤六:安装其他必备插件
- Maven Integration(用于基于 Maven 的编译、打包)
- Node.js(适用于前端 Vue 项目打包)
- Git(用于代码拉取)
- Gitee/GitHub/GitLab 插件(针对私有代码仓库集成)
- Publish Over SSH(用于与其他服务器间的文件传输)
服务器安装 maven、node、git 可参阅笔记Linux
篇
步骤七: 全局工具配置
后端项目构建:
图中的 --update-snapshots clean package -P dev
-P 为在Maven构建命令中,-P 参数是用来激活(或选择)构建时特定的构建profile。
在Maven的pom.xml文件中,可以定义多个profile,每个profile都有一组特定的构建配置,例如依赖项、插件配置、构建目标等。
当通过 -P
参数指定profile时,Maven将在构建过程中使用该profile中的配置。
Post Steps 配置构建后执行的脚本
whoami
cd /root/usr/apps/your-app/bin
#停止程序
sh stop.sh
#删除jar包 可以备份到别的地方,我这里直接删除
rm -rf your-app-0.0.1-SNAPSHOT.jar
#将构建的jar包复制到构建目录
mv /var/lib/jenkins/workspace/your-app/target/your-app-0.0.1-SNAPSHOT.jar /root/usr/apps/your-app
#执行程序目录的启动脚本
sh start.sh
stop脚本
#!/bin/sh
export APP_HOME_BIN_PATH=$(cd `dirname $0`; pwd)
export APP_HOME=${APP_HOME_BIN_PATH%/bin}
export C_PID=`ps -ef | grep java | grep $APP_HOME | grep -v grep | awk '{print $2}'`
if [ ! -z "$C_PID" ]; then
kill -9 $C_PID;
fi
start脚本
#!/bin/sh
export BUILD_ID=dontkillme
if [ -z $JAVA_HOME ] ;
then
JAVA_HOME="/usr/local/jdk/jdk1.8.0_371"
fi
export APP_HOME_BIN_PATH=$(cd `dirname $0`; pwd)
export APP_HOME=${APP_HOME_BIN_PATH%/bin}
$JAVA_HOME/bin/java -jar -server -Xmx512m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m $APP_HOME/your-app-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &
构建前端项目
选择配置的nodejs nodejs参照上文,如果没有需要先全局配置。
上述脚本和上面类似,将打包的依赖先清空,然后设置镜像源,将打包好的dist目录创建压缩包,然后移动到对应的your-node-app
你的前端程序目录
然后解压
cd /var/lib/jenkins/workspace/your-node-app
pnpm -v
node -v
rm -rf node_modules/f-*
rm -rf package-lock.json
pnpm set registry https://registry.npmmirror.com/
npm i
yarn build
cd /var/lib/jenkins/workspace/your-node-app/dist
tar -zcf root.tar.gz *
mv root.tar.gz /root/usr/front/your-node-app/
cd /root/usr/front/your-node-app/
tar -zxf root.tar.gz
rm -rf root.tar.gz
构建到远程服务器
前面的步骤一样,
注意此处 执行脚本处对应命令就不需要了,因为对应的dist包会发到远程服务器。
mv root.tar.gz /root/usr/front/your-node-app/
cd /root/usr/front/your-node-app/
tar -zxf root.tar.gz
rm -rf root.tar.gz
在此处配置远程server:系统配置 > 滑动到最底部(Publish over SSH)
注意此处的
Exec command
是在文件传输完成之后,在远端服务器执行的命令。
#构建完成之后,对应的文件会传送到此目录
cd /root/usr/front/your-node-app
#解压
tar -zxf root.tar.gz
rm -rf root.tar.gz
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战