jenkins环境搭建

jenkins环境搭建

  • 1.环境说明
  • 2.环境准备
    • 1.jdk安装
    • 2.安装Git
    • 3.安装sshpass
    • 4.安装Maven
  • 3.安装Jenkins(war包方式安装)
    • 1.安装
    • 2.镜像加速
  • 4.官网提供的yum方式安装
  • 5.访问

1.环境说明

keyvalue
环境centos7
jdk版本11
git2.43.0
maven3.9.6
jenkins最新版本http://mirrors.jenkins-ci.org/war/latest/

2.环境准备

1.jdk安装

安装方式请参考博主之前的文章:https://blog.csdn.net/weixin_44702984/article/details/128906562

centos7安装jdk

2.安装Git

yum安装git方式

  1. 执行命令:yum install -y git ;
  2. 验证是否安装成功:git --version

1.通过官网下载git:https://mirrors.edge.kernel.org/pub/software/scm/git/
在这里插入图片描述

2.下载的git上传到/opt目录下,进行解压

tar -zvxf git-2.43.0.tar.gz

3.安装源代码编译环境

yum install -y curl-devel expat-devel openssl-devel zlib-devel gcc-c++ 
yum install -y perl-ExtUtils-MakeMaker automake autoconf libtool make

3.配置git安装目录

cd git-2.43.0
./configure --prefix=/opt/git

4.执行git安装命令

make install

5.添加环境变量

vi /etc/profile
export GIT_HOME=/opt/git
export PATH=${GIT_HOME}/bin:$PATH 

6.环境变量生效

source /etc/profile

3.安装sshpass

 yum install -y sshpass

4.安装Maven

.1.maven下载页面:https://maven.apache.org/download.cgi

2.将下载的压缩包apache-maven-3.9.6-bin.tar.gz上传到/opt目录下,进行解压

apache-maven-3.9.6-bin.tar.gz

3.重名名

 mv apache-maven-3.9.6 maven-3.9.6

4.添加环境变量

vi /etc/profile
export MAVEN_HOME=/opt/maven-3.9.6
export PATH=${MAVEN_HOME}/bin:$PATH

5.环境变量生效

source /etc/profile

6.修改maven基本配置

vi /opt/maven-3.9.6/conf/settings.xml

maven下的 conf/settings.xml 找到和标签,在其中添加如下内容(镜像加速):

<!-- 配置镜像加速 -->
<mirror><id>alimaven</id><name>alimaven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>
</mirror>

配置本地仓库地址

<localRepository>/opt/maven-3.9.6/repository</localRepository>

3.安装Jenkins(war包方式安装)

1.安装

1.创建jenkins安装目录进入该目录后下载jenkins

mkdir /opt/jenkins && cd /opt/jenkins/

2.下载Jenkins(并且上传)

  • Jenkins安装包下载页:https://www.jenkins.io/download/

  • 各版本war索引页:https://mirrors.jenkins-ci.org/war/

3.添加启动脚本

在Jenkins安装目录/opt/jenkins下创建jenkins启动脚本

vi jenkins.sh

脚本内容如下

#!/bin/bash
args=$1
#注意修改jenkinswar包的目录
jenkins_war_path="/opt/jenkins"
#jenkins开放端口
jenkins_http_port="8888"
#java安装路径
java_home="/usr/local/jdk-11.0.18"
function isRuning(){local jenkinsPID=`ps -ef|grep jenkins.war|grep -v grep|awk '{print $2}'`if [ -z ${jenkinsPID} ];thenecho "0"elseecho ${jenkinsPID}fi
}#停止jenkins
function stop(){local runFlag=$(isRuning)if [ ${runFlag} -eq "0" ];thenecho "Jenkins is already stoped."else`kill -9 ${runFlag}`echo "Stop jenkins success."fi
}#启动jenkins
function start(){local runFlag=$(isRuning)echo "${runFlag}"if [ ${runFlag} -eq "0" ];then`${java_home}/bin/java -jar ${jenkins_war_path}/jenkins.war --httpPort=${jenkins_http_port} &` > /dev/nullif [ $? -eq 0 ];thenecho "Start jenkins success."exitelseecho "Start jenkins fail."fielseecho  "Jenkins is running now."fi
}#重启jenkins
function restart(){local runFlag=$(isRuning)if [ ${runFlag} -eq "0" ];thenecho "Jenkins is already stoped."exitelsestopstartecho "Restart jenkins success."fi
}#根据输入的参数执行不同的动作
#参数不能为空
if [ -z ${args} ];thenecho "Arg can not be null."exit
#参数个数必须为1个
elif [ $# -ne 1 ];thenecho "Only one arg is required:start|stop|restart"
#参数为start时启动jenkins
elif  [ ${args} = "start" ];thenstart
#参数为stop时停止jenkins
elif [ ${args} = "stop" ];thenstop
#参数为restart时重启jenkins
elif [ ${args} = "restart" ];thenrestart
elseecho "One of following args is required: start|stop|restart"exit 0
fi

4.jenkins.sh添加执行权限

chmod u+x jenkins.sh

5.启动

./jenkins.sh start

6.启动报错
在这里插入图片描述
7.解决方案

./jenkins.sh stop
yum -y install fontconfig.x86_64

8.再次启动
在这里插入图片描述

2.镜像加速

1.jenkins默认镜像地址:https://updates.jenkins.io/update-center.json

2.镜像地址列表

常见的jenkins镜像地址有以下地址

镜像名镜像地址
清华大学https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
华为https://mirrors.huaweicloud.com/jenkins/updates/update-center.json
xmissionhttp://mirror.xmission.com/jenkins/updates/update-center.json

也可参见官方网站提供的可用镜像地址:http://mirrors.jenkins-ci.org/status.html

3.配置加速

修改jenkins配置(插件站点更新,加速联网)

vi /root/.jenkins/hudson.model.UpdateCenter.xml

将XML内的url的值替换为:http://mirror.xmission.com/jenkins/updates/update-center.json

<?xml version='1.1' encoding='UTF-8'?>
<sites><site><id>default</id><url>http://mirror.xmission.com/jenkins/updates/update-center.json</url></site>
</sites>

4.官网提供的yum方式安装

1.安装密钥

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

2.安装

  yum install fontconfig java-17-openjdkyum install jenkins

5.访问

1.浏览器访问jenkins,端口8888: http://ip:8888/

2.获取管理员密码

cat /root/.jenkins/secrets/initialAdminPassword

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx(1.13.7)首次安装出现:【make: *** 没有规则可以创建“default”需要的目标“build” 问题】解决措施

目录 前言&#xff1a; 一.龙蜥&#xff08;Anolis&#xff09;操作系统上安装GCC 1.安装gcc 2.检验安装 二.安装出现 make&#xff1a; *** 没有规则可以创建“default”需要的目标“build” 问题 1.解压安装nginx 2.安装出现问题展示 3.解决措施 4.重新编译进行安装 5…

算法第十七天-构造有效字符串的最少插入数

构造有效字符串的最少插入数 题目要求 解题思路 考虑abc的个数 假设答案有n个"abc"组成&#xff0c;那么需要插入的字符个数为 3 ∗ n − l e n ( s ) 3*n - len(s) 3∗n−len(s)。 对于相邻的两个字符x和y&#xff08;x在y左侧&#xff09;&#xff1a; 如果 x…

ubuntu安装node

1 下载 node 官网下载 如果需要其他版本&#xff0c;点击上图的Other Downloads 这里下载的版本是20.11.0 Linux Binaries (x64)&#xff0c;下载下来后是node-v20.11.0-linux-x64.tar.xz这样的格式&#xff0c;直接右键解压得到如下目录&#xff1a; 直接拷贝该文件夹到指定目…

通过IP地址识别风险用户

随着互联网的迅猛发展&#xff0c;网络安全成为企业和个人关注的焦点之一。识别和防范潜在的风险用户是维护网络安全的关键环节之一。IP数据云将探讨通过IP地址识别风险用户的方法和意义。 IP地址的基本概念&#xff1a;IP地址是互联网上设备的独特标识符&#xff0c;它分为IP…

redis学习

redis的五个基本数据类型。 redis字符串&#xff08;String&#xff09; string是redis最基本的类型&#xff0c;一个key对应一个Tvalue。 string类型是二进制安全的&#xff0c;意思是redis的string可以包含任何数据&#xff0c;比如jpg图片或者序列化的对象。 string类型是…

vue项目之.env文件.env.dev、test、pro

.env文件是vue运行项目时的环境配置文件。 .env: 全局默认配置文件&#xff0c;所有环境(开发、测试、生产等&#xff09;均会加载并合并该文件 .env.development(开发环境默认命名) 开发环境的配置&#xff0c;文件名默认为.env.development,如果需要改名也是可以的&#xf…

微创新与稳定性的权衡

之前做过一个项目&#xff0c;业务最高峰CPU使用率也才50%&#xff0c;是一个IO密集型的应用。里面涉及一些业务编排&#xff0c;所以为了提高CPU使用率&#xff0c;我有两个方案&#xff1a;一个是简单的梳理将任务可并行的采用并行流、额外线程池等方式做并行&#xff1b;另外…

Rust-模式解构

match 首先&#xff0c;我们看看使用match的最简单的示例&#xff1a; exhaustive 有些时候我们不想把每种情况一一列出&#xff0c;可以用一个下划线来表达“除了列出来的那些之外的其他情况”&#xff1a; 下划线 下划线还能用在模式匹配的各种地方&#xff0c;用来表示…

大话 JavaScript(Speaking JavaScript):第二十一章到第二十五章

第二十一章&#xff1a;数学 原文&#xff1a;21. Math 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 Math对象用作多个数学函数的命名空间。本章提供了一个概述。 数学属性 Math的属性如下&#xff1a; Math.E 欧拉常数&#xff08;e&#xff09; Math.LN2 2 …

抓交通肇事犯(python)

问题描述&#xff1a; 一辆卡车违反交通规则&#xff0c;撞人后逃跑。现场有三人目击该事件&#xff0c;但都没有记住车号&#xff0c;只记下了车号的一些特征。甲说&#xff1a;牌照的前两位数字是相同的&#xff1b;乙说&#xff1a;牌照的后两位数字是相同的&#xff0c;但…

MATLAB 2023a软件下载安装教程

编程如画&#xff0c;我是panda&#xff01; 这次给大家带来的是MATLAB 2023a的下载安装教程 前言 MATLAB&#xff0c;即Matrix Laboratory的缩写&#xff0c;是一款强大的科学计算软件&#xff0c;以其独特的矩阵计算基础、丰富的数学函数库和直观的数据可视化工具而闻名。作…

服务端性能测试——性能测试工具JMeter-L1

第一遍没学懂&#xff0c;后续文章会更新~ 目录&#xff1a; 1.JMeter介绍与安装Meter简介JMeter安装2.JMeter的运行JMeter运行、界面功能简介3.使用代理服务器录制请求录制压测脚本&#xff08;一&#xff09;Web端脚本录制方法4.测试计划5.线程组6.控制器7.JMeter采样器/取…

C++ Builder XE关于TDateTime批量加减时间TTimerPiker的设置

void __fastcall TForm3::Button3Click(TObject *Sender) { TDateTime *DT new TDateTime(); //new TDateTime类型变量 *DTTPicker1->Time; //加 1 小时: DT (double)DT 1/24; //加 1 分钟: DT (double)DT 1/(24*60); //加 1 秒钟: DT (double)DT 1/(24*60*60); …

Unity对应SDK和NDK版本的对照表

官网&#xff1a;Unity - Manual: Android environment setup 本人安装的是2022版本长期支持版本2022.3.15f1c1 安装Java的JDK环境就不在这里展开了&#xff0c;就记录下对Android SDK的设置&#xff0c;要与Unity的版本对应&#xff0c;否则会出现很多莫名奇妙的问题。 打开…

深入了解网络流量清洗--使用免费的雷池社区版进行防护

​ 随着网络攻击日益复杂&#xff0c;企业面临的网络安全挑战也在不断增加。在这个背景下&#xff0c;网络流量清洗成为了确保企业网络安全的关键技术。本文将探讨雷池社区版如何通过网络流量清洗技术&#xff0c;帮助企业有效应对网络威胁。 ![] 网络流量清洗的重要性&#x…

【服务器数据恢复】FreeNAS+ESXi数据恢复案例

服务器数据恢复环境&#xff1a; 一台服务器&#xff0c;虚拟化系统为esxi&#xff0c;上层使用iSCSI的方式实现FC SAN功能&#xff0c;iSCSI通过FreeNAS构建。 FreeNAS采用了UFS2文件系统&#xff0c;esxi虚拟化系统里有3台虚拟机&#xff1a;其中一台虚拟机安装FreeBSD系统&a…

MySQL-多表查询

&#x1f389;欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克&#x1f379; ✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;重拾MySQL &#x1f379;文章作者技术和水平很有限&#xff0c;如果文中出现错误&am…

Explain详解与索引最佳实践

听课问题(听完课自己查资料) type中常用类型详细解释 null <- system <- const <- er_ref <- ref <- range <- index <- all Explain 各列解释 EXPLAIN SELECT* FROMactorLEFT JOIN film_actor ON actor_id actor.id; 1. id 代表执行的先后顺序 比如…

ffmpeg[学习(四)](代码实现) 实现音频数据解码并且用SDL播放

0、作者杂谈 CSDN大多数都是落后的&#xff0c;要么是到处复制粘贴的&#xff0c;对于初学者我来说困惑了很久&#xff0c;大多数CSDN文章都是使用旧的API &#xff0c;已经被否决了&#xff0c;于是我读一些官方文档&#xff0c;和一些开源项目音视频的输出过程&#xff0c;写…

React Hooks中useState的介绍,并封装为useSetState函数的使用

useState 允许我们定义状态变量&#xff0c;并确保当这些状态变量的值发生变化时&#xff0c;页面会重新渲染。 useState 返回值 const [state, setState] useState(initialState);useState 返回一个长度为 2 的数组。通常&#xff0c;我们这样定义状态变量&#xff1a; co…