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.mzph.cn/news/619977.shtml

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

相关文章

【spring源码分析】@Conditional的使用以及分析

Conditional Conditional 一、基本信息二、注解描述三、注解源码四、主要功能五、最佳实践 在Bean上使用在Configuration上使用自定义组合注解 六、时序图七、源码分析八、注意事项九、总结 最佳实践总结源码分析总结 一、基本信息 转载自github&#xff0c;在此作为个人备…

LINUX基础培训六之磁盘和文件系统管理

前言、本章学习目标 掌握fdisk分区类型和管理分区了解parted分区类型掌握LVM模式文件系统创建、扩展、缩小文件系统 一、磁盘的分区管理 在 Linux 中有专门的分区命令 fdisk 和 parted。其中 fdisk 命令较为常用&#xff0c;但不支持大于 2TB 的分区&#xff1b;如果需要支…

C++/WinRT 入门

本主题将会根据新的 Windows 控制台应用程序 (C/WinRT) 项目演练一个简单的代码示例。 C/WinRT 快速入门 创建一个新的 Windows 控制台应用程序(C/WinRT) 项目。 根据实际选择平台 如果出现如下错误&#xff0c;需要安装正确的SDK。 找不到 Windows SDK 版本 10.0.17134.0 (o…

支付功能测试用例测试点?

支付功能测试用例测试点是指在测试支付功能时&#xff0c;需要关注和验证的各个方面。根据不同的支付场景和需求&#xff0c;支付功能测试用例测试点可能有所不同&#xff0c;但一般可以分为以下几类&#xff1a; 功能测试&#xff1a;主要检查支付功能是否符合设计和业务需求…

RTTI结构详细分析(VC++)

对于RTTI结构的资料真的屈指可数,类的逆向也一直是一个不好弄的问题.对此我只想贡献我的一份力量。 文中我不会分析类的内存布局,因为有很多资料已经分析的挺好的了(见参考资料)。但是现有我能找到的资料对RTTI结构的表述不完整,或者表述模糊不清,参考Clang的部分源码后&#…

kube-apiserver参数详解

Global flags 全局选项详解 选项默认值描述–log-file如果不为空,将是日志输出的文件–log-dir如果不为空,将是日志输出的目录–alsologtostderrlog日志会输出到标准错误并且也会输出到文件中–logtostderrtruelog日志会输出到标准错误而不是文件中–log-file-max-size1800定…

寒假刷题第五天

PTA甲级 1022 Digital Library 大模拟 #include<iostream> #include<unordered_map> #include<unordered_set> #include<vector> #include<set>using namespace std;unordered_map<string , set<int>>ti , au , key , pub , year…

Altium designer软件使用

AD工程文件 .prjpcb 工程由sch文件与pcb文件组成&#xff0c;sch文件是原理图文件&#xff0c;pcb文件是layout文件。 原理图SCH .schdoc 1&#xff1a;原理图的标注:加标题和作者 p->t tab 2&#xff1a;查找:ctrlF 3&#xff1a;设置相关功能的快捷键 View菜单下的Tool…

一些前端学习过程的自测练习题

目录 页面设计部分 1 设计一个简单的学院网站首页&#xff1b; 2.按照图示要求完成简单的登录页面 3.完成如下网站设计 4.完成如下网站设计&#xff08;练习页面布局&#xff09; 5 利用下面素材&#xff0c;设计一个满足H5规范的网页&#xff08;移动端页面练习&#xff…

【Delphi 基础知识 17】注释代码的几种方法

在 Delphi 中&#xff0c;有三种主要的注释代码的方法&#xff0c;分别是&#xff1a; 花括号 {} 注释&#xff1a; 这是一种常见的注释方式&#xff0c;在代码中使用花括号将注释的内容括起来。这种注释方式可以用于单行注释和多行注释。// 单行注释 { 这是一个多行注释可以跨…

简单说一下原型与原型链

文章目录 原型原型链 原型 简单来说原型就像是对象的 “爸爸”&#xff0c;每个对象都有一个原型。当你创建一个对象时&#xff0c;这个对象就会有一个内部链接&#xff0c;指向它的原型。你可以把原型想象成对象的一种模板&#xff0c;对象可以从中继承属性和方法。 举个例子…

Java中单体应用锁的局限性分布式锁

互联网系统架构的演进 在互联网系统发展之初&#xff0c;系统比较简单&#xff0c;消耗资源小&#xff0c;用户访问量也比较少&#xff0c;我们只部署一个Tomcat应用就可以满足需求。系统架构图如下: 一个Tomcat可以看作是一个JVM进程&#xff0c;当大量的请求并发到达系统时&…

(每日持续更新)jdk api之FileDescriptor基础、应用、实战

博主18年的互联网软件开发经验&#xff0c;从一名程序员小白逐步成为了一名架构师&#xff0c;我想通过平台将经验分享给大家&#xff0c;因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验&#xff0c;晚上进行用心精简、整理、总结、定稿&…

ios 推流 拉流

文章目录 1.协议2.流程3.框架 HaishinKit.swift 1.协议 iOS 直播专题5-推流 简书 2.流程 iOS-直播推拉流 简书 3.框架 HaishinKit.swift HaishinKit.swift - github

Redis:原理速成+项目实战——Redis企业级项目实战终结篇(HyperLogLog实现UV统计)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Redis&#xff1a;原理速成项目实战——Redis实战14&#xff08;BitMap实现用户签到功能&#xff09; &#x1f4da;订阅专栏&am…

[易语言]使用易语言部署工业级人脸检测模型

【框架地址】 https://github.com/ShiqiYu/libfacedetection 【算法介绍】 Libfacedetection是一个开源的计算机视觉库&#xff0c;主要用于实时的人脸检测。它利用深度学习技术&#xff0c;特别是卷积神经网络&#xff08;CNN&#xff09;&#xff0c;实现了高精度的脸部定位…

了解JavaScript 加密、混淆和生成签名

分析并理解网站的 JavaScript 加密、混淆和生成签名的方法是 JavaScript 逆向工程中的一个重要方面。这些技术通常用于保护代码免遭未授权的访问和修改&#xff0c;或确保数据在传输过程中的安全性。 加密 目的&#xff1a;加密用于保护敏感数据&#xff0c;使得只有拥有正确密…

【java八股文】之MYSQL基础篇

1、数据库三大范式是什么 第一范式&#xff1a;每个列都不可以再拆分。 第二范式&#xff1a;在第一范式的基础上&#xff0c;非主键列完全依赖于主键&#xff0c;而不能是依赖于主键的一部分。 第三范式&#xff1a;在第二范式的基础上&#xff0c;非主键列只依赖于主键&#…

AtCoder ABC194

这期比193稍微简单一点 C - Squared Error 手玩一下&#xff1a; N 3 N3 N3时 展开得 a 2 b 2 − 2 a b b 2 − c 2 − 2 b c a 2 c 2 − 2 a c a^2b^2-2abb^2-c^2-2bca^2c^2-2ac a2b2−2abb2−c2−2bca2c2−2ac 每个数平方项都要计算 n − 1 n-1 n−1次 减的那一份可…

LeetCode1124. Longest Well-Performing Interval

文章目录 一、题目二、题解 一、题目 We are given hours, a list of the number of hours worked per day for a given employee. A day is considered to be a tiring day if and only if the number of hours worked is (strictly) greater than 8. A well-performing in…