Linux环境安装Jenkins

Linux环境安装Jenkins

Jenkins和JDK的版本

Jenkins和JDK的版本需要对应,不然无法正常启动。

Jenkins稳定版下载地址

Jenkins服务

手动使用命令启动和关闭Jenkins比较麻烦,所以可以把Jenkins设置成开机启动。

创建Jenkins.sh文件

JAVA_HOME和jenkins.war的路径需要修改为自己服务器上的路径。

shell 复制代码
#!/bin/bash
###主要目的用于开机启动服务,不然 启动jenkins.war包没有java -jar的权限
JAVA_HOME=/usr/local/jdk1.8.0_172
 
 
pid=`ps -ef | grep jenkins.war | grep -v 'grep'| awk '{print $2}'| wc -l`
  if [ "$1" = "start" ];then
  if [ $pid -gt 0 ];then
  echo 'jenkins is running...'
else
  ### java启动服务 配置java安装根路径,和启动war包存的根路径
  nohup $JAVA_HOME/bin/java -jar /usr/local/jenkins/jenkins.war --httpPort=8182  2>&1 &
  fi
  elif [ "$1" = "stop" ];then
  exec ps -ef | grep jenkins | grep -v grep | awk '{print $2}'| xargs kill -9
  echo 'jenkins is stop..'
else
  echo "Please input like this:"./jenkins.sh start" or "./jenkins stop""
  fi

使用脚本 启动和关闭Jenkins

启动Jenkins

shell 复制代码
/usr/local/jenkins/jenkins.sh start

关闭Jenkins

shell 复制代码
/usr/local/jenkins/jenkins.sh stop

设置开机启动

在指定位置创建开机启动脚本

shell 复制代码
vim /lib/systemd/system/jenkins.service

开机启动脚本内容,需要指定jenkins.sh的位置

shell 复制代码
[Unit]
Description=Jenkins
After=network.target
 
[Service]
Type=forking
ExecStart=/usr/local/jenkins/jenkins.sh start
ExecReload=
ExecStop=/usr/local/jenkins/jenkins.sh stop
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target
刷新配置
shell 复制代码
systemctl daemon-reload
设置开机启动
shell 复制代码
systemctl enable jenkins.service
启动服务
shell 复制代码
systemctl start jenkins.service
查看Jenkins服务状态
shell 复制代码
systemctl status jenkins.service

建议把jenkins.war和jenkins.sh放在一个目录中。

Jenkins安装插件

Jenkins插件和Jenkins版本是有对应关系的。如果版本不匹配安装插件会失败。

如果出现版本不匹配的问题,可以手动下载匹配版本的插件,在高级中选择下载的插件安装。

查看插件和Jenkins版本对应关系

可以看到Localization插件和Jenkins的版本对应关系

参考

  1. Jenkins (2.346.1) or higher required异常,如何在不升级jenkins的情况下安装插件呢?
相关推荐
AlfredZhao1 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者5 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo5 天前
Linux系统中网线与USB网络共享冲突
linux
宋均浩6 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
Sokach10157 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao7 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone