Jenkins安装 Linux 更换镜像 安装插件
前言
下面叙述了三种jenkins安装的方式,jenkins安装之前必须有java环境因为他是java写的…
- yum安装只能安装最新版本的jenkins,但是jenkins是java写的所以他强依赖java版本,当你的服务器的java版本与jenkins版本冲突时还需要给jenkins重新指定新的java版本,如何单独给jenkins指定java版本看结尾
- war安装 - 简单,可以自定义你想要的jenkins版本,避免java与jenkins的版本冲突问题,因为最新jenkins只支持java11和java17
- docker安装 - 容器安装,就不多叙述了就主打一个方便,但是数据存储还是容器化技术的通病只能使用挂载进行备份防止容器损坏的时候不会导致数据丢失无法找回的后果.
大家根据对应情况选择对应安装方式
方式一 : yum安装
无法指定安装版本,安装的都是最新版本,如果你的jdk小于11,谨慎使用!
下载jenkins yum包
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
注意:如果出现cannot verify pkg.jenkins.io’s certificate, issued by ‘/C=US/O=Let’s Encryp 该错误则需要安装ca-certificates
yum install -y ca-certificates
导入密钥,如果你之前使用yum安装过jenkins时导入过密钥,那导入密钥这一步可能会报错,因为你已经有密钥了,忽略该错误即可
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
安装jenkins
yum install jenkins
启动jenkins
systemctl start jenkins
浏览器访问 ip:8080即可,如果访问不到可以尝试关闭防火墙,阿里云服务器记得安全组放开8080端口
systemctl stop firewalld
yum卸载jenkins
yum remove jenkins
rm -rf /etc/sysconfig/jenkins.rpmsave
rm -rf /var/cache/jenkins/
rm -rf /etc/init.d/jenkins.rpmsave
使用yum安装如何给jenkins单独指定java版本
当你希望使用的jenkins版本和当前服务器java版本冲突时,你可以下载一个支持的java版本,然后去修改jenkins读取java目录的路径,就可以达到jenkins单独使用一个java版本,而不会影响你的服务器以及项目的java版本了.例如:你项目使用的jdk8,而你yum安装的jenkins版本需要jdk11,那你只需要下载一个jdk11放到一个目录里面(不需要配置环境变量也不要在/usr/bin下创建软连接),然后修改jenkins读取java配置的参数,修改成你java11存放的目录,那jenkins启动的时候就会去找你配置的java11目录,而不会去读取系统的java8了!
1.下载当前jenkins支持的jdk版本包,使用xftp传入服务器,然后解压并记录存放路径
解压命令
tar -zxvf {jdk包路径}
2.修改jenkins启动使用的jdk路径
cd /etc/init.d
vim jenkins #新增对应版本jdk的路径如下图
vim /usr/lib/systemd/system/jenkins.service
修改为,/usr/java/jdk-17.0.4 改成你自己的java路径
刷新配置文件
systemctl daemon-reload
systemctl enable jenkins
这样子jenkins去可以使用指定的java版本去启动了
方式二 : war包启动
1.下载jenkins.war包
去官方下载自己想要的版本的war包 : https://get.jenkins.io/war-stable/ , 切记注意看与jdk的版本对应
也就是说2.361.1后续的版本就不在支持java8了,如果要使用的jenkins版本和当前项目jdk版本不兼容的话,也是有解决方案的-结尾附赠
https://www.aliyundrive.com/drive/file/backup/65fa7a117ea56160d4674aa39175e8ca625d26b5
2.上传war包
新建一个文件夹,将下载下来的war包使用ftp工具上传到该文件夹中
mkdir /usr/jenkins
进入war包存放所在目录
cd /usr/jenkins
后台启动jenkins,并把日志输入到当前目录的jenkins.log里面
nohup java -jar jenkins.war > jenkins.log &
netstat -tunlp | grep 8080
解除防火墙或者放开8080端口并访问jenkins
systemctl stop firewalld
ip:8080
阿里云服务器记得去安全组放开8080端口
3. 卸载删除
卸载jenkins(删除/root/.jenkins目录)
动态业务编排, 如果编排出来的规则, 我们自己的系统调用的话 是以api请求方式调用吗?
但是这个规则引擎如果编排业务需要有我们自己系统的部分业务的话, 怎么调用我们自己的系统的业务?
方式三 : docker安装
前提需要安装docker环境,可以看该文章 - linux如何安装docker环境
拉取docker容器并启动
docker run --name jenkins -d -u root -p 8080:8080 -p 50000:50000 -v /usr/jenkins/:/var/jenkins_home/ jenkins/jenkins
- -d 后台运行
- -p 端口映射 宿主机端口:docker容器内端口
- -v 挂载,也可以理解为备份,将将容器中jenkins的数据和配置都挂载一份到宿主机上, 宿主机目录:docker容器内目录,宿主机目录可以自定义
查看jenkins日志,可以看见管理员密码,就不需要进入容器然后去指定文件夹中查看了
docker logs -tf --tail 600 [容器id]
管理员密码
解除防火墙或者放开8080端口并访问jenkins
systemctl stop firewalld
ip:8080
阿里云服务器记得去安全组放开8080端口
Jenkins重启
url上 后拼接 /restart
http://192.168.124.206:8080/restart
服务器 kill后重启
安装后界面引导
访问jenkins
浏览器访问 http://ip:8080
输入完后,会提示选择安装插件,这里不选择安装任何插件,因为安装源在国外的网站,速度是十分慢还可能失败,后面我们自己会配置安装插件的源
接下来是创建管理员用户,后面几个步骤很简单,一直点下一步即可
最后会跳转到首页
下一步更换镜像源
安装中文插件
如果没有汉化版,接下来我们搜索一个中文的插件,勾上,然后安装
Jenkins->Manage Jenkins->Manage Plugins->Available
安装完重启一下jenkins
更换镜像源
直接用清华镜像源https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/,比如我们要找Jenkins2.346对应版本
# 第一步
- Jenkins->Manage Jenkins->Manage Plugins->Advanced
- 滑倒最下面
- 将 `Update Site` 修改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-2.346/update-center.json
- 点击提交
# 第二步
- 打开服务器
- 进入文件夹 cd /root/.jenkins/updates/
- 备份该文件 cp default.json default.json.bak
- 在同目录下载该清华源文件update-center.json,并修改文件名为default.json
# 下载
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-2.346/update-center.json# 改名
mv update-center.json default.json
最后重启Jenkins,发现插件更新的地方,没有再提示更高版本的插件,都是适合当前Jenkins版本的插件。
问题
Jenkins (xxx) or higher required
在jenkins的插件市场中的插件,都是最新版本的,可能会和当前的jenkins版本或插件冲突
需要jenkins升级或者插件安装低版本
安装指定版本插件
- 在这里选择需要安装插件的对应版本: http://updates.jenkins-ci.org/download/plugins/
- 点击下载plugin到本地
- 打开Jenkins,Manage Jenkins --> Manage Plugins --> Advanced,
- 选择本地下载好的plugin,上传后重启Jenkins即可。