在Linux中进行Jenkins部署(maven-3.9.1+jdk11)

news2024/11/18 4:47:16

Jenkins部署在公网IP为x.x.x.x的服务器上

maven-3.9.1要安装在jdk11环境中

环境准备

第一步,下载jdk-11.0.19_linux-x64_bin.tar.gz安装包。

登录地址:Java Downloads | Oracle

下载jdk-11.0.19_linux-x64_bin.tar.gz安装包,然后使用WinSCP将安装包上传到/usr/local/src文件夹中。

第二步,解压jdk-11.0.19_linux-x64_bin.tar.gz安装包。

命令:cd /usr/local/src

tar -zxvf jdk-11.0.19_linux-x64_bin.tar.gz -C /usr/local

第三步,配置环境变量。

配置/etc/profile文件,在文件添加下面的代码:

export JAVA_HOME=/usr/local/jdk-11.0.19

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$PATH

# 刷新profile文件

命令:source /etc/profile

第四步,测试server-jre是否配置成功。

# 查看jdk版本

命令:java -version

若结果显示server-jre的版本,则说明server-jre配置成功。

第五步,安装maven。

# 下载maven安装包

命令:cd /usr/local/src

wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.9.1/binaries/apache-maven-3.9.1-bin.tar.gz

# 解压maven安装包

命令:tar -zxvf apache-maven-3.9.1-bin.tar.gz

第六步,配置maven。

配置/usr/local/src/apache-maven-3.9.1/conf/setting.xml文件,文件修改完成后显示如下:

   <mirror>

      <id>alimaven</id>

      <mirrorOf>central</mirrorOf>

      <name>aliyun maven</name>

      <url>https://maven.aliyun.com/repository/public</url>

  </mirror>

</mirrors>

第七步,配置环境变量。

配置文件/etc/profile,在文件最下面添加下面的代码:

export MAVEN_HOME=/usr/local/src/apache-maven-3.9.1

export PATH=${PATH}:${MAVEN_HOME}/bin

# 刷新profile文件

命令:source /etc/profile

第八步,验证maven。

命令:mvn -v

若结果显示“Apache Maven 3.9.1”,则maven配置成功。

步,安装git

# yum安装git

命令:yum install git

# 创建git用户组和用户

命令:groupadd git

useradd git -g git

# 使用ssh-keygen生成密钥文件/root/.ssh/id_rsa.pub

命令:ssh-keygen             #连续回车四下

cat /root/.ssh/id_rsa.pub    #结果显示生成的秘钥

Jenkins安装

第一步,导入镜像。

命令:yum -y install ca-certificates

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

若结果显示“100%”,则说明镜像导入成功。

  

第二步,导入公钥。

命令:rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key

第三步,查看Linux系统中是否安装了jenkins。

命令:rpm -qa | grep jenkins

若已经安装了,则需要使用命令“yum -y remove jenkins”进行卸载。若没有安装,则进行下一步。

步,安装jenkins

命令:yum install fontconfig java-11-openjdk

yum install jenkins

若结果显示“Upgraded:jenkins-2.387.2-1.1.noarch”,则说明安装的最新版本是jenkins-2.387。

第五步,修改插件下载地址。

命令:cd /var/lib/jenkins/updates

sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

Jenkins配置

编辑配置文件/etc/sysconfig/jenkins,做出修改如下:

JENKINS_PORT="8880"

编辑配置文件/etc/init.d/jenkins,做出修改如下:

candidates="/usr/local/jdk-11.0.19/bin/java"

注意:路径后面一定跟启动路径/bin/java

编辑配置文件/usr/lib/systemd/system/jenkins.service,把“Environment="JENKINS_PORT=8080"”修改成“Environment="JENKINS_PORT=8880"”。

编辑文件/etc/systemd/system/jenkins.service.d/override.conf,做出修改如下:

[Service]

Environment="JENKINS_PREFIX=/jenkins"

Jenkins启动

# 启动jenkins

命令:systemctl daemon-reload

systemctl start jenkins

# 查看jenkins启动状态

命令:systemctl status jenkins

  

# 关闭jenkins

命令:systemctl daemon-reload

systemctl stop jenkins

# 重启jenkins

命令:systemctl daemon-reload

systemctl restart jenkins

Jenkins访问

第一步,获取管理员密码

命令:cat /var/lib/jenkins/secrets/initialAdminPassword

在浏览器中登录网址:http://x.x.x.x:8880/,输入刚刚获得的管理员密码,点击“继续”即可。

  

第二步,自定义Jenkins。

在“自定义Jenkins”页面点击“安装推荐的插件”,就会跳转到“新手入门”页面进行插件安装,当插件安装完成时,页面就会显示绿√。

 

第三步,创建第一个管理员用户。

在“创建第一个管理员用户”页面中用户名输入“admin”,密码输入“zy@123456”,全名输入“管理员”,电子邮件地址写入自己的电子邮件地址。然后点击“保存并完成”即可。

  

第四步,实例配置。

在“实例配置”页面会显示Jenkins URL,确认Jenkins URL没有问题之后就可以点击“保存并完成”,然后会跳转到另一个显示“Jenkins已就绪!”的页面。最后点击“开始使用Jenkins”就可以了。

  

第五步,插件配置。

点击“系统管理——>插件管理”,就会跳转到“插件管理”页面,在该页面先点击“Available plugins”,然后在搜索栏搜索需要的插件,接着勾上该插件,最后点击“Install without restart”。

  

接着重启jenkins

命令:systemctl daemon-reload

systemctl restart jenkins

最后重新在浏览器中登录网址:http://x.x.x.x:8880/,用户名输入“admin”,密码输入“zy@123456”。

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

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

相关文章

电子温湿度记录仪

电子温湿度记录仪&#xff1a;实时监测环境温度和湿度电子温湿度记录仪是一种用于实时监测环境温度和湿度的设备。它广泛应用于医疗、制药、食品加工、仓储、博物馆、实验室等领域&#xff0c;以确保环境温湿度处于合适的范围内&#xff0c;以保持物品和设备的稳定性和安全性。…

信号的产生——tripuls函数

信号的产生——tripuls函数, 功能&#xff1a;产生非周期三角波信号&#xff0c;其调用格式如下&#xff1a; &#xff08;1&#xff09;ytripuls(t)&#xff0c; &#xff08;2&#xff09;ytripuls(t,w)&#xff0c; &#xff08;3&#xff09;ytripuls(t,w,s)&#xff0…

Java多线程入门到精通学习大全?深入了解线程:生命周期、状态和优先级!(第二篇:线程的基础知识学习)

本文详细介绍了线程的基础知识&#xff0c;包括什么是线程、线程的生命周期、线程的状态和线程优先级等。在了解这些知识后&#xff0c;我们能够更好地掌握线程的使用方式&#xff0c;提高程序的并发性和效率。如果您对线程有更深入的问题&#xff0c;也欢迎向我们提问。 1. 什…

华为MPLS跨域——后门链路实验配置

目录 配置PE与CE设备对接命令&#xff08;通过OSPF对接&#xff09; 配置后门链路 可以使用任意方式来跑跨域MPLS&#xff08;A、B、C1、C2都可以&#xff09;&#xff0c;不过关于传递Vpnv4路由的配置此处不做介绍&#xff1b;此处只介绍关于PE和CE对接的配置和关于后门链路…

node.js的核心模块

node的核心模块由一些精简而高效的库组成 文章目录 全局对象全局对象和全局变量processcosole utilutils.inheritsutils.inspect 事件机制事件发射器error 事件继承EventEmitter 文件系统访问fs.readFile(filename,[encoding],[callback(err,data)])fs.readFileSync(filename,…

NSSCTF (2)

[GKCTF 2020]cve版签到 查看响应头发现有几个可能利用的信息 1.hint 里面的Flag in localhost 2.apache 2.4.38 3. php 7.3.15 我们发现第一个是提示 第二个apache版本没有什么漏洞 但是php 7.3.15 存在cve漏洞 这里题目规定 *.ctfhub.com 所以我们 要以这个结尾 在 p…

05-事务管理

概念&#xff1a; 事务是一组操作的集合&#xff0c;它是不可分割的工作单位&#xff0c;这些操作要么同时成功&#xff0c;要么同时失败 操作&#xff1a; 开启事务&#xff08;一组操作开始前&#xff0c;开启事务) : start transaction / begin ; 提交事务&#xff08;这组操…

【LeetCode】1000题挑战(230/1000)

1000题挑战 没有废话&#xff0c;直接开刷&#xff01; 目录 1000题挑战 没有废话&#xff0c;直接开刷&#xff01; 第一题&#xff1a;242. 有效的字母异位词 - 力扣&#xff08;Leetcode&#xff09; 题目接口&#xff1a; 解题思路&#xff1a; 代码&#xff1a; …

罗马数字转整数:探究古代数字编码的奥秘

本篇博客会讲解力扣中“13. 罗马数字转整数”这道题的解题思路。 大家先来审下题&#xff1a;题目链接。 题干如下&#xff1a; 有几个输出样例&#xff1a; 提示如下&#xff1a; 大家先思考一下&#xff0c;再来听我讲解。 本题的关键是&#xff1a;如何把罗马数字转换…

文末赠书3本 | 盼了一年的Core Java最新版卷Ⅱ,终于上市了

文章目录 盼了一年的Core Java最新版卷Ⅱ&#xff0c;终于上市了&#xff01;Core Java基于Java 17全面升级Core Java最新版卷Ⅱ现已上市卷Ⅰ、卷Ⅱ有何不同&#xff1f;如何阅读《Java核心技术》从未远离工业界的Java大神带你学50位行业专家、技术媒体赞誉推荐如何选择版本文末…

Python基础入门(2)—— 什么是控制语句、列表、元组和序列?

文章目录 01 | &#x1f684;控制语句02 | &#x1f685;列表03 | &#x1f688;元组04 | &#x1f69d;序列05 | &#x1f69e;习题 A bold attempt is half success. 勇敢的尝试是成功的一半。 前面学习了Python的基本原则、变量、字符串、运算符和数据类型等知识&#xff0c…

树形结构——堆的构建

在学习完我们的树形结构之后我们再来使用树形结构的思想构建一个堆。使用堆可以对我们的数据进行排序&#xff0c;并且堆排序的效率要远优于我们之前学习过的冒泡排序。下面我们来逐步实现堆这个数据结构。 在构建堆之前我们需要先介绍以下我们树形结构构建的两种形式&#xff…

掌握这些GitHub搜索技巧,你的开发效率将翻倍!

作为开发it行业一员&#xff0c;学习借鉴他人项目是很有必要的&#xff0c;所以我们一般都会从github或者 Gitee 上面去参考借鉴他人的项目来学习增加自己的项目经验 但是一般我还是在github上看项目比较多&#xff0c;毕竟人家实力项目量摆在那里 &#xff0c;但是国内访问gi…

Spring Cloud的那些组件和功能,get到了吗

Spring Cloud 是 Spring 技术栈生态很重要的一部分&#xff0c;面向大型网站服务端的开发和架构设计&#xff0c;它以 Spring/SpringBoot 为基础&#xff0c;提供的一系列组件规范和具体实现。 一、概述 Spring Cloud 提供了用于更快速构建分布式系统的基础规范&#xff08;例…

“深入”理解字节对齐

文章目录 前言思考查阅资料[Byte alignment and ordering](https://www.eventhelix.com/embedded/byte-alignment-and-ordering/)Byte Alignment RestrictionsWhy Restrict Byte Alignment?Compiler Byte PaddingUser Defined StructureActual Structure Definition Used By t…

使用SaleSmartly自动化流程的 5 个原因

想象一下&#xff0c;如果您可以采用智能数字解决方案来减轻团队和公司的手动和重复业务流程负担。它可以帮助您节省时间、提高公司的底线、消除冗余并增强数据管理。SaleSmartly&#xff08;ss客服&#xff09;就是这样。 通过利用自动化的力量&#xff0c;SaleSmartly&#x…

牛客网专项练习Pytnon分析库(一)

1.提取出a和b两个数组中的公共项,可以使用numpy库中的哪个函数&#xff08;A&#xff09;。 A.np.intersect1d(a,b) B.np.setdiff1d(a,b) C.np.where(a b) D.np.lexsort((a,b)) 解析&#xff1a; A选项&#xff0c;np.intersect1d用来获取数组a和数组b之间的公共项&…

MySQL遇到过死锁问题吗,你是如何解决的?

MySQL遇到过死锁问题吗&#xff0c;你是如何解决的&#xff1f; 问题解析 死锁&#xff0c;就是两个或者两个以上的线程在执行过程中&#xff0c;去争夺同一个共享资源导致互相等待的现象。 在没有外部干预的情况下&#xff0c;线程会一直处于阻塞状态&#xff0c;无法往下执行…

理解FPGA的基础知识——逻辑电路

FPGA (Field Programmable Gate Aray,现场可编程门阵列)是一种可通过重新编程来实现用户所需逻辑电路的半导体器件。为了便于大家理解FPGA的设计和结构&#xff0c;我们先来简要介绍一些逻辑电路的基础知识。 1.逻辑代数 逻辑代数中的变量称为逻辑变量&#xff0c;用大写字母表…

Arduino ESP32 ESP-Rainmaker点灯示例

Arduino ESP32 ESP-Rainmaker点灯示例 &#x1f4cc;基于ESP-IDF工程相关篇《ESP32 ESP-Rainmaker 本地点灯控制Demo测试》&#x1f388;原项目地址&#xff1a;https://github.com/espressif/esp-rainmaker&#x1f516;本次所测试的项目示例工程&#xff1a;\esp-rainmaker—…