郑州公司网站开发,wordpress闭站,兰博沃金牛座手表官方网站,门户网站内容管理系统本教程采用jenkins.war的方式离线安装部署#xff0c;在线下载的方式会遇到诸多问题#xff0c;不宜采用
基本环境#xff1a; 1.jdk环境#xff0c;Jenkins是java语言开发的#xff0c;因需要jdk环境。 2.git/svn客户端#xff0c;因一般代码是放在git/svn服务器上的在线下载的方式会遇到诸多问题不宜采用
基本环境 1.jdk环境Jenkins是java语言开发的因需要jdk环境。 2.git/svn客户端因一般代码是放在git/svn服务器上的我们需要拉取代码。 3.maven客户端因一般java程序是由maven工程需要maven打包当然也有其他打包方 式如gradle
一、下载地址
地址Jenkins download and deployment
下载最新的长期支持版 由于jenkins使用java开发的所以需要安装的linux服务器装有jdk环境并且jdk版本支持你所安装的jenkins版本
点击 Hardware and Software requirements查看下载前的软硬件要求 点击 Java Requirements 根据所下载的长期支持的jenkin版本区间 判定支持的jdk版本 因为笔者下载的的是 2.440.2 版本结合上图判定2.440.2在2.426.1之后需要的linux服务器安装jdk版本为jdk 11、jdk 17或者jdk 21三者任意一个都可以所以最终我选择了jdk 21安装到linux服务器中
当然可能你所在的linux服务器已经安装了jdk 8 或者jdk 11并且由于其他应用的原因不能再升级jdk那只需要找到对应jdk支持的jenkins版本进行下载即可
从上图看出如果linux服务器安装的 jdk 8 下载 2.346.1、2.164.1任意一个都可以
如果安装的是 jdk 17下载2.346.1、2.361.1、2.426.1任意一个
安装的是jdk 11 则以上四个长期版本都支持。 对于历史版本的下载点击 Past Releases 链接 找到对应的版本下载即可 二、上传jenkins.war包
笔者是安装在 /opt下创建 jenkins文件夹使用最高权限root用户登录linux服务器 cd /opt sudo mkdir jenkins ll 依次输入以上三条命令 进入新创建的jenkins文件夹 cd jenkins 笔者使用的是FinalShell工具上传jenkin.war一款国产免费的linux服务器 连接工具功能强大不过有安全性问题不推荐生产环境使用推荐使用Xshell和Xftp组合工具
进入jenkins文件夹后可以看到上传的jenkins.war包 三、启动jenkins
先约定jenkins的启动端口为9007实际自行更改保证端口不冲突即可 查看防火墙状态 systemctl status firewalld 防火墙开启状态则开通 9007 端口 访问权限并重载防火墙 -- 开通 9007 端口 访问权限 sudo firewall-cmd --permanent --add-port9007/tcp -- 重载防火墙 sudo firewall-cmd --reload cd /opt/jenkins 键入以下命令启动 nohup java -jar jenkins.war --httpPort9007 | tee jenkins.log 21 命令解释如下 1. nohup: 这是一个Unix/Linux命令用于让程序在后台运行即使用户注销也不会停止运行No Hang Up。使用 nohup 可以确保即使SSH会话关闭Jenkins服务仍然持续运行 2. java -jar jenkins.war --httpPort9007: 这是启动Jenkins服务的命令其中 -jar 参数表示要执行包含在WAR文件中的主类在这种情况下是Jenkins应用--httpPort9007 是指明Jenkins服务器监听的HTTP端口号为9007 3. | tee jenkins.log: | 是管道操作符它将前一个命令的标准输出stdout传递给后续命令。tee 命令则接收这些输出并同时完成两个任务 将输出内容“复制”一份写入到 jenkins.log 文件中相当于实时记录了Jenkins启动过程和运行时的日志信息。 继续将接收到的数据传递到下一个管道或者默认的标准输出此处由于后面没有其他命令就是当前终端所以在终端上也能看到相同的日志输出 4. 21: 这个符号组合将标准错误流stderr重定向到标准输出流stdout。这意味着不论是正常的程序输出还是错误信息都将统一作为标准输出处理所以不论是正常日志还是错误日志都会经过管道并被tee命令捕捉 5. : 最后的符号用于将整个命令放入后台运行使得命令执行后控制台立刻返回到可输入状态而无需等待该命令执行完毕 出现以上信息说明 jenkins启动成功 即使终端关闭也可以
初始用户名和密码 为 admin 103ed60c535f4c8daec0d81d66b9ea9d
初始admin用户密码如果忘记则去 /root/.jenkins/secrets/initialAdminPassword 中寻找
使用 tail -f /root/.jenkins/secrets/initialAdminPassword 打开可以看到存储的初始jenkins密码 四、设置开机自启动
通过命令 nohup java -jar jenkins.war --httpPort9007 | tee jenkins.log 21 可以后台永久启动jenkins服务但服务器一旦关闭重启还是需要进入jenkins.war所在文件夹目录重新执行启动命令
4.1 创建并编辑jenkins.sh 脚本
首先 cd /opt/jenkins创建jenkins.sh 脚本文件随便放哪里都可以但一般和jenkins.war处在同一个文件目录下 vim jenkins.sh 按 i 键 输入以下内容 红色部分为需要根据自己对应环境路径自行修改
#!/bin/bash
#主要目的用于开机启动服务,不然 启动jenkins.war包没有java -jar的权限
JAVA_HOME/usr/local/jdk/jdk-21.0.2pidps -ef | grep jenkins.war | grep -v grep| awk {print $2}| wc -lif [ $1 start ];thenif [ $pid -gt 0 ];thenecho jenkins is running...
else#java启动服务 配置java安装根路径,和启动war包存的根路径nohup $JAVA_HOME/bin/java -jar /opt/jenkins/jenkins.war/opt/jenkins/jenkins.log --httpPort9007 21 fielif [ $1 stop ];thenexec ps -ef | grep jenkins | grep -v grep | awk {print $2}| xargs kill -9echo jenkins is stop..
elseecho Please input like this:./jenkins.sh start or ./jenkins stopfi按下 esc键输入 :wq 保存退出键入以下命令赋予脚本可执行权限 chmod x /opt/jenkins/jenkins.sh 4.2 检测jenkins.sh 脚本
在当前jenkins目录下输入 ./jenkins.sh stop 浏览器刷新访问jenkins地址无法访问 再输入启动命令启动 ./jenkins.sh start 浏览器再次刷新发现启动成功 以上说明编写的 jenkins.sh 脚本文件没有问题
4.3 创建并编辑 jenkins.service 系统服务文件
键入命令 vim /lib/systemd/system/jenkins.service 按 i 键 输入以下命令
[Unit]
DescriptionJenkins
Afternetwork.target[Service]
Typeforking
ExecStart/opt/jenkins/jenkins.sh start
ExecReload
ExecStop/opt/jenkins/jenkins.sh stop
PrivateTmptrue[Install]
WantedBymulti-user.target创建好服务后执行命令刷新配置 systemctl daemon-reload 启动脚本 systemctl start jenkins.service 查看状态 systemctl status jenkins.service 设置开机自启动 systemctl enable jenkins.service 查看开机自启动的服务列表 systemctl list-units --typeservice 看到已存在jenkins.service服务 输入 reboot重启验证访问jenkins地址开机自启动成功 五、jdk环境准备
请移步这篇文章
linux离线安装jdk-CSDN博客
六、git环境准备
关于linux系统安装git请参考笔者这篇博客
linux安装git-CSDN博客
七、maven安装
maven安装linux参考博客
linux离线安装maven-CSDN博客
八、jenkins使用
8.1 登录jenkins 浏览器打开jenkins访问地址
http://ip:port
笔者的地址为http://192.168.19.16:9007
输入之前记录的密码 103ed60c535f4c8daec0d81d66b9ea9d
或者执行命令查看初始密码 tail -f /root/.jenkins/secrets/initialAdminPassword 安装插件这里要求服务器处于联网状态自动下载相关插件 创建新用户再选择使用admin账户继续 这里的地址不用修改就是jenkins的访问地址 8.2 新建管理员权限用户
继续往下点 点击用户列表可以看到就一个admin用户之前创建的管理员用户没成功应该是笔者点错了没保存 点击系统管理 点击管理用户 create user 可以看到新建了一个用户如果想要修改密码等信息点击编辑按钮进入修改即可 8.3 插件下载
因为jenkins要用来构建前后端项目所以需要下载有关maven和Node js等等 nodejs # 构建前端项目 maven integration # 构建后端项目 webhook # 自动化构建网络钩子 gitlab # 基础配置 git plugin # 基础git publish over ssh # 连接远程服务器 点击系统管理-插件管理
点击Avaliable plugins需要什么插件搜索下载安装即可 有的插件需要重启jenkins才能生效比如maven 插件装好后需要进行全局配置
8.4 全局配置 8.4.1 maven配置
这里配置的路径是你jenkins所在linux服务器中安装的maven里settings.xml的路径笔者是安装在这个路径下 8.4.2 JDK安装
笔者安装的是jdk-21.0.2JAVA_HOME路径如下按照jenkins服务器安装的jdk路径填写这里如果填写的不对会有错误提示
自动安装不需要打勾 8.4.3 git 安装
笔者在安装git时把git的安装在 /usr/local/git路径下了。
linux安装git-CSDN博客
下图为笔者在安装git时设置的安装路径 8.4.4 maven安装
按照maven的安装路径来