centos各个版本jenkins部署

news2024/12/23 22:39:16

目录

官网安装方法

安装java,**注意java版本,新版本jenkins只支持jdk11及以上

安装jenkins

Jenkins启动失败的七个问题

jenkins 部署脚本

Nginx转发jenkins服务


官网安装方法

Redhat Jenkins Packages (jenkins-ci.org)https://mirrors.jenkins-ci.org/redhat/

安装java,**注意java版本,新版本jenkins只支持jdk11及以上

1、查看本机是否自带java:rpm -qa|grep java

2、有则卸载:rpm -e --nodeps java*

3、查看yum中jdk版本:yum search jdk

发现有java11,列出java11:yum list |grep java-11

看到有文档、源码这些包,没必要安装,所以安装开头的那三个就可以了。

yum install -y java-11-openjdk-headless-11.0.5.10-0.el7_7.x86_64 java-11-openjdk-11.0.5.10-0.el7_7.x86_64 java-11-openjdk-devel-11.0.5.10-0.el7_7.x86_64

可能各个centos版本的jdk版本不一样,输入完yum install -y后挨个用鼠标选择包名后按shift+ins键就可以复制到命令行了,避免手打打错字。

5、安装完成直接java -version就可以出现版本信息。

6、配置环境变量

安装完之后,默认的安装目录是在: /usr/lib/jvm/

跟java8比,已经没有了dt.jar和tools.jar了,并且去看安装位置的jre,发现有一个已经指向了jdk文件夹(懵逼脸)。

在profile文件中添加如下内容

#set java environment
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.5.10-0.el7_7.x86_64
JRE_HOME=$JAVA_HOME
CLASS_PATH=.:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

让修改生效:source /etc/profile

安装jenkins

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum upgrade

yum install fontconfig java-11-openjdk  
yum install jenkins

 说明:默认安装目录

1. /usr/lib/jenkins/         jenkins 安装目录,WAR 包会放在这里。
2. /etc/sysconfig/jenkins    jenkins 配置文件,端口JENKINS_HOME 都可以在这里配置。
3. /var/lib/jenkins/     默认的 JENKINS_HOME。
4. /var/log/jenkins/jenkins.log   Jenkins 日志文件。

Jenkins启动失败的七个问题

1、jdk版本和路径问题(注意第6个问题)

which java

 vim /etc/init.d/jenkins

2、用户名问题

查看/etc/sysconfig/jenkinsJENKINS_USER="root",如果不是root,而是jenkins或者其它,要改成root。或者相反操作。

或者/usr/lib/systemd/system/jenkins.service的,同上处理。

老版本:

        vim /etc/sysconfig/jenkins

        systemctl daemon-reload

新版本:

        vim /usr/lib/systemd/system/jenkins.service

        User=root   

        Group=root

systemctl daemon-reload

3、log权限问题

 cd /var/log

chmod 777 -R jenkins/

4、启动方法问题(如果是CS9,则需要执行第一步)

cp /etc/rc.d/init.d/functions /etc/init.d/

cd /etc/init.d/

./jenkins status

./jenkins stop

./jenkins start

5、卸载jenkins

yum remove jenkins

rm -rf /etc/sysconfig/jenkins.rpmsave

rm -rf /var/cache/jenkins/

rm -rf /etc/init.d/jenkins.rpmsave

 6、无法使用systemctl启动jenkins

 vim /usr/lib/systemd/system/jenkins.service

修改上图为:

Environment="JAVA_HOME=/usr/java/jdk-17.0.4"

其中/usr/java/jdk-17.0.4为使用which java命令得到的路径。

systemctl daemon-reload

systemctl enable jenkins

7、端口占用,可能需要修改端口(修改前kill所有jenkins进程)

查看/etc/sysconfig/jenkins的JENKINS_PORT="8086"

或者/usr/lib/systemd/system/jenkins.service的Environment="JENKINS_PORT=8086"

老版本:

vim /etc/sysconfig/jenkins

systemctl daemon-reload

新版本:

vim /usr/lib/systemd/system/jenkins.service

systemctl daemon-reload

systemctl start jenkins.service

systemctl stop jenkins.service

systemctl status jenkins.service

netstat -ntap | grep 8086

jenkins 部署脚本

方式一:sh + nohup 启动,jenkins 只执行 sh 即可,日志在 log 里

 方式二:日志会在 jenkins 任务里

Nginx转发jenkins服务

upstream jenkins {
  keepalive 32; # keepalive connections
  server 127.0.0.1:8080; # jenkins ip and port
}

# Required for Jenkins websocket agents
map $http_upgrade $connection_upgrade {
  default upgrade;
  '' close;
}

server {
  listen   80;       # Listen on port 80 for IPv4 requests
  server_name   ;  # replace 'jenkins.example.com' with your server domain name
  # this is the jenkins web root directory
  # (mentioned in the /etc/default/jenkins file)
  root            /var/run/jenkins/war/;

  access_log      /var/log/nginx/jenkins.access.log;
  error_log       /var/log/nginx/jenkins.error.log;

  # pass through headers from Jenkins that Nginx considers invalid
  ignore_invalid_headers off;

  location ~ "^/static/[0-9a-fA-F]{8}\/(.*)$" {
    # rewrite all static files into requests to the root
    # E.g /static/12345678/css/something.css will become /css/something.css
    rewrite "^/static/[0-9a-fA-F]{8}\/(.*)" /$1 last;
  }

  location /userContent {
    # have nginx handle all the static requests to userContent folder
    # note : This is the $JENKINS_HOME dir
    root /var/lib/jenkins/;
    if (!-f $request_filename){
      # this file does not exist, might be a directory or a /**view** url
      rewrite (.*) /$1 last;
      break;
    }
    sendfile on;
  }

  location / {
      sendfile off;
      proxy_pass         http://jenkins;
      proxy_redirect     default;
      proxy_http_version 1.1;

      # Required for Jenkins websocket agents
      proxy_set_header   Connection        $connection_upgrade;
      proxy_set_header   Upgrade           $http_upgrade;

      proxy_set_header   Host              $host;
      proxy_set_header   X-Real-IP         $remote_addr;
      proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
      proxy_set_header   X-Forwarded-Proto $scheme;
      proxy_max_temp_file_size 0;

      #this is the maximum upload size
      client_max_body_size       10m;
      client_body_buffer_size    128k;

      proxy_connect_timeout      90;
      proxy_send_timeout         90;
      proxy_read_timeout         90;
      proxy_buffering            off;
      proxy_request_buffering    off; # Required for HTTP CLI commands
      proxy_set_header Connection ""; # Clear for keepalive
  }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/638749.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信朋友圈怎么定时发送?微信朋友圈定时发送有什么优势?

刷朋友圈已经成为大部分人日常中不可缺少的一件事,同时也是企业用来触达客户的重要渠道。下面一起来了解一下微信朋友圈定时发送的优势有哪些,还有怎么定时发朋友圈吧。 定时发朋友圈的优势有哪些? 1、让企业能够更好地管理自己的宣传信息 …

HttpRunner 接口自动化测试框架实战,打造高效测试流程

简介 2018年python开发者大会上,了解到HttpRuuner开源自动化测试框架,采用YAML/JSON格式管理用例,能录制和转换生成用例功能,充分做到用例与测试代码分离,相比excel维护测试场景数据更加简洁。在此,利用业…

Tree of Thoughts: Deliberate Problem Solving with Large Language Models

思维树:用大模型深思熟虑的解决问题 Tree of Thoughts: Deliberate Problem Solving with Large Language Models概述:核心思想:背景:IO promptingCoTCoT-SC 算法流程:主要实验对象:24点游戏创意写作填字游…

Linux5.3 Haproxy搭建Web群集

文章目录 计算机系统5G云计算第四章 LINUX Haproxy搭建Web群集一、Keepalived 概述1. HAProxy的主要特性2.常见的 Web 集群调度器3.HAProxy负载均衡策略4.LVS、Nginx、HAproxy的区别 二、Haproxy搭建 Web 群集 Keepalived部署高可用集群1.haproxy 服务器部署,配置负…

Linux shell脚本命令记录

1、cut cut 命令可以从一个文本文件或者文本流中提取文本列。 选项与参数: -d :后面接分隔字符。与 -f 一起使用; -f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思; -c &#x…

如何进行App性能测试?iTest工具助力你轻松实现!

目录 引言 功能简介 基本功能使用说明 其它功能 iTest数据上传功能 iTest使用注意事项 引言 如何使用iTest工具进行App性能测试。 在如今这个高度竞争的移动应用市场中,用户对于应用程序的体验需求越来越高,而良好的性能表现则是实现这一目标的关…

CleanMyMac X 4.13.4 Mac系统老牌清洁工具大测评-功能、优缺点盘点

CleanMyMac X 4.13.4 for Mac 是一款可靠且功能强大的Mac清洁工具工具,他可以让你随时检查Mac电脑的健康情况,并删除电脑中的垃圾文件,来腾出存储空间,保持Mac系统的整洁。至问世以来,CleanMyMac 系统倍受国内外用户推…

SpringBoot 源码分析刷新应用上下文(3)-refreshContext

一:入口 /*** Run the Spring application, creating and refreshing a new* {link ApplicationContext}.* param args the application arguments (usually passed from a Java main method)* return a running {link ApplicationContext}*/public ConfigurableAp…

高阶复杂网络重建:从时间序列中重建高阶网络

论文链接:https://www.nature.com/articles/s41467-022-30706-9 一、为什么要研究高阶网络? 复杂网络跟我们生活息息相关,例如社交网络的信息传播,疾病的感染扩散和基因调控网络的相互作用等。越来越多的研究突破了传统网络中两…

SSH暴力破解

Linux是开源系统,系统本身因漏洞造成的攻击相对比较少,主要集中在SSH攻击; SSH所采用的加密机制,可以防止数据传输过程中信息泄露; SSH基于用户名密码的身份验证,容易遭受密码暴力破解攻击; S…

上海交通大学计算机考研分析

关注我们的微信公众号 姚哥计算机考研 更多详情欢迎咨询 上海交通大学(A)考研难度(☆☆☆☆☆) 上海交通大学电子信息与电气工程学院的前身可溯源至1908年的电机专科,享有中国电气工程师“摇篮”的美称,…

远程线程注入之突破Session0隔离会话

前言 当我们使用远程线程注入将dll注入至系统服务进程中往往会失败,这是因为大多数系统服务都是在Session0中运行的 "Session 0"是Windows操作系统中的一个特殊的会话,专门用于运行系统服务和其他在用户登录之前就需要运行的程序。从Windows…

卷积神经网络CNN(第三次组会)

卷积神经网络 1. 为什么用卷积2. 两个原则3. 参数理解4. 理解卷积 1. 为什么用卷积 2. 两个原则 3. 参数理解 4. 理解卷积

Proteus仿真之IIC通信(AT24C02)

1.IIC通信简介:IIC是一种利用时钟线SCL和数据线SDA进行数据传输的通信协议。IIC的时序图如下所示: 我们需要看懂时序图中开始信号、数据传输、应答信号和停止信号。 开始信号:SCL为高电平时,SDA出现下降沿信号。 数据传输&#…

c++类和对象(封装)

4、类和对象 C面向对象的三大特性为:封装、继承、多态 C认为万事万物都皆为对象,对象上有其属性和行为 例如: 人可以作为对象,属性有姓名、年龄、身高、体重...,行为有走、跑、跳、吃饭、唱歌...车也可以作为对象,属性…

python带你制作自动点赞小程序,让我看看谁还在呆呆的手动点赞

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 知识点: 动态数据抓包 requests发送请求 开发环境: 代码所使用软件工具: python 3.8 >>>>>> 运行代码 pycharm 2022.3 >>>>>> 辅助敲代码 需下载的第三方模块&a…

【微信公众平台对接】有关上传pdf到微信

1、微信文档说明 ps:有关微信的一些文档说明我真的是服了,这个文档,抛出来看的人真的是一头雾水,算了,我也不做过多评判;下面看我调用的示例代码 2、示例代码 /*** 上传pdf* https://api.weixin.qq.com/card/invoice…

HTML+CSS实训——Day13——学习MySQL

前言 已经过去三周了,现在是第四周,之前所有的数据都是在本地的,还没有学到数据库,这周开始使用数据库了。 我自用的是navicat 连接服务器 我们新建一个连接,写上主机和端口号,再写上用户名和密码就可以…

【新版】系统架构设计师 - 计算机系统基础知识【补充】

个人总结,仅供参考,欢迎加好友一起讨论 文章目录 架构 - 计算机系统基础知识【补充内容】计算机语言多媒体系统工程霍尔的三维结构切克兰德方法并行工程方法综合集成法WSR(物理-事理-人理)系统方法系统工程生命周期7阶段生命周期方…

23年软件测试前景和出路?新人入行测试怎样走“正确“的路...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 现在面试&#xf…