记录一下Jenkins的离线安装部署及配置过程

首先就是相关安装包的下载与获取

使用版本:jenkins-2.346.3 百度网盘地址:网盘链接
提取码:jk23
其中包括:jenkins-2.346.3-1.1.noarch.rpmplugins.zip

安装与配置

下面是安装及配置的 Linux执行命令

# 创建一个安装的文件路径
mkdir -p /opt/soft/jenkins
cd /opt/soft/jenkins
#将 `jenkins-2.346.3-1.1.noarch.rpm` 和 `plugins.zip` 放到创建的文件夹下 
# 对RPM包进行安装
rpm -ivh jenkins-2.346.3-1.1.noarch.rpm
#配置 Jenkins 服务在系统启动时的环境变量和选项
vim /etc/sysconfig/jenkins
修改{
JENKINS_USER="root"
JENKINS_PORT="8900"
}
#配置 Jenkins 服务在 Systemd 上的的启动选项、环境变量
vim /usr/lib/systemd/system/jenkins.service
修改{
User=root
Group=root
Environment="JENKINS_PORT=8900"
}
#在/usr/bin/java下创建一个软连接(快捷方式) : 非必要执行 
#因为虚拟机中同时安装了JDK1.8和JDK17 所以创建了两个
ln -s /opt/soft/jdk1.8.0_391/bin/java /usr/bin/java
ln -s /opt/soft/jdk-17.0.10/bin/java /usr/bin/java17
#重新加载 systemd 的配置
systemctl daemon-reload
#启动 Jenkins 服务
systemctl start jenkins
#设置 Jenkins 服务在系统启动时自动启动
systemctl enable jenkins
#创建Jenkins 的工作空间文件夹
mkdir -p /opt/soft/jenkins/workspace
#设置目录的权限为 777  777:所有用户都具有读取、写入和执行权限。
chmod 777 /opt/soft/jenkins/workspace
#修Jenkins的工作空间配置
vim /var/lib/jenkins/config.xml
#修改workspaceDir:
<workspaceDir>/opt/soft/jenkins/workspace/${ITEM_FULL_NAME}</workspaceDir>
#同时如果jdk也可以在这里配置多个 
#因为项目中使用的是17 所以将1.8修改成17了
 <jdk>
      <name>jdk17</name>
      <home>/opt/soft/jdk-17.0.10</home>
      <properties/>
 </jdk>
#重启Jenkins服务
systemctl restart jenkins
//配置防火墙
firewall-cmd --list-ports
firewall-cmd --zone=public --add-port=8900/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports

进入页面初始化配置

1.现在就可以打开页面 ip:8900 进行初始化, 输入密码

#查看密码
cat /var/lib/jenkins/secrets/initialAdminPassword

2.自定义 jenkins 选选择插件来安装, 然后选无, 点击右下角安装
3.创建第一个管理员用户, 输入完账号密码后保存并完成
4.实例配置, 直接点保存并完成
5.打开 Manage Jenkins -> Global Tool Configuration 配置Maven 及JDK

  1. Maven Configuration: Default settings providerDefault global settings provider 都填上Maven的settings文件路径(填入自己实际的settings文件路径即可,eg:/opt/soft/apache-maven-3.8.6/conf/settings.xml在这里插入图片描述
  2. JDK: Name 填 jdk17, JAVA_HOME 填 /opt/soft/jdk-17.0.10 (填入自己实际的JDK路径即可)
    在这里插入图片描述
  3. Maven: namemaven, MAVEN_HOME 填 /opt/soft/apache-maven-3.8.6 (填入自己实际的Maven路径即可)在这里插入图片描述
    如果界面全是英文只是因为中文插件还没有安装,看下一Part,离线安装插件之后重启就可以了

离线安装Jenkins插件

这里使用离线安装的方式,所以将一些用的到的插件(包括SSH、GIT、中文等Jenkins插件)打包了,就是plugins.zip
只需要将其解压到Jenkins的plugins下(/var/lib/jenkins/plugins)然后重启即可

#清除原本的插件
rm -rf /var/lib/jenkins/plugins
#解压到/var/lib/jenkins/plugins下![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/64e622fdbf034020b44a87954a539804.png#pic_center)

unzip -q -d /var/lib/jenkins/ /opt/soft/jenkins/plugins.zip
#重启Jenkins服务
systemctl restart jenkins

使用Jenkins自动编译部署服务(通过shell脚本)

本文中Jenkins是通过GIT拉取仓库代码通过本地Maven进行编译成Jar包然后通过SSH保存到服务器并通过SSH调用服务器上的shell脚本来自动编译部署的。
因为这里是通过SSH调用服务器上的shell脚本来更新服务的,所以首先需要去Configure System->Publish over SSH->SSH Servers下面添加一个SSH Server后保存
NameHostnameUsername填自己服务器IP地址即可,同时确保服务器可以通过ssh访问
在这里插入图片描述
接下来开始进入工作台添加一个任务,填写任务名称及描述,然后源码管理GIT中填写GIT代码仓库地址及登录GIT的账号密码,Branches to build中指定分支,例如我这里是测试环境,所以填写的 */dev
如果源码管理中没有GIT的选项,说明服务器上未安装GIT或配置全局变量,需要先安装GIT并配置
在这里插入图片描述
然后构建中添加一个构建步骤,本文中使用的是shell的编译方法,所以选择执行 shell,命令中编写自己的Maven打包脚本即可,例如:

#!/bin/bash -lex
BUILD_ID=dontKillMe
#  对 你的服务 模块进行打包,指定 profile : dev
mvn clean package -Pdev -pl yourself-service -am -Dmaven.test.skip=true -U

最后在构建后操作中选择Send build artifacts over SSH,SSH Publishers选择我们刚刚添加的SSH Server即可,如果这里下拉没有则返回本Part开始处看如何添加SSH Publishers。这里填完之后就可以保存然后取点击立即构建啦。如果构建出现失败,记得看一下控制台输出定位问题然后解决即可。

  • Source files:填写编译输出后的jar文件路径即可
  • Remove prefix:后面需要移除的文件前缀
  • Remote directory:即服务器上需要放置的Jar包地址
  • Exec command:Jar包放到服务器上之后执行的启动命令脚本
    在这里插入图片描述

常见问题

  • ERROR: Error cloning remote repo 'origin': 检查GIT地址配置或者登录信息,可在Jenkins部署的服务器上手动git clone 测试是否可以连接到GIT仓库地址
  • Unknown host maven.aliyun.com: Name or service not known:阿里云Maven仓库地址无法解析,同样先在服务器上curl -I 或ping测试是否可以连接阿里云Maven仓库地址,如果也不能就是DNS解析有问题,需要首先检查一下服务器网络环境。PS:建议添加阿里云公共 DNS223.5.5.5223.6.6.6,比谷歌的8.8.8.8更适合,由阿里云提供,为中国用户优化的 DNS 解析服务
  • git: 'remote-https' is not a git command. :大概率是因为 Git 安装中缺少对 HTTPS 支持的部分,先检查你的 Git 安装目录下是否存在 git-remote-https 文件,如果文件不存在,则说明你的 Git 安装可能缺少了该组件。
ls /opt/deploy/soft/git/libexec/git-core/git-remote-https
Jenkins离线部署是指将Jenkins服务器部署在无互联网连接的环境中。一般情况下,Jenkins是通过互联网连接来进行插件更新、下载构建工具等操作的。然而,有些安全或隔离的生产环境并不允许服务器直接访问互联网,因此需要进行离线部署来满足特定需求。 要进行Jenkins离线部署,首先需要从Jenkins官网下载离线安装包。然后,将安装包复制到无互联网连接的服务器上。在服务器上安装Java运行环境,并配置好环境变量。接下来,解压安装包并运行Jenkins。 离线部署后,Jenkins将无法通过互联网连接进行插件更新和下载构建工具等操作。为了解决这个问题,可以使用插件管理的高级选项中的"高级"选项来手动安装插件。首先,在互联网连接的环境中找到所需的插件的.hpi或.jpi文件,并将其复制到Jenkins服务器的插件目录下。然后,重新启动Jenkins,它将自动加载并启用这些插件。 离线部署后,还需手动配置构建工具。将构建工具的安装包下载到离线服务器并解压,然后在Jenkins的全局配置中指定工具的路径。这样,Jenkins就可以在离线环境中正常使用这些工具进行构建操作。 总之,Jenkins离线部署是一种满足无互联网连接生产环境需求的解决方案。通过准备离线安装包、手动安装插件和配置构建工具等步骤,可以使Jenkins在离线环境中正常运行。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值