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

news2024/12/22 22:40:33

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

maven-3.9.1要安装在jdk8环境中

环境准备

第一步,下载server-jre-8u202-linux-x64.tar.gz安装包。

登录地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html下载server-jre-8u202-linux-x64.tar.gz安装包,然后使用WinSCP将安装包上传到/usr/local/src文件夹中。也可以使用wget命令下载。

命令:cd /usr/local/src

wget https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html/jre-8u202-linux-x64.tar.gz

第二步,解压server-jre-8u202-linux-x64.tar.gz安装包。

命令:cd /usr/local/src

tar -zxvf server-jre-8u202-linux-x64.tar.gz -C /usr/local

第三步,配置环境变量。

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

export JAVA_HOME=/usr/local/jdk1.8.0_202

export JRE_HOME=$JAVA_HOME/jre

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

export PATH=$JAVA_HOME/bin:$JRE_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/jdk1.8.0_202/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/493438.html

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

相关文章

Maven命令和配置详解

Maven命令和配置详解 1. pom基本结构2. build基本结构3. Maven命令详解3.1 打包命令3.2 常用命令3.3 批量修改版本-父子pom4. Maven配置详解4.1 settings.xml4.2 项目内的maven工程结构Maven POM构建生命周期工程实践1. pom基本结构 <?xml versi

《程序员面试金典(第6版)》面试题 16.13. 平分正方形(直线的斜截式方程,C++)

题目描述 给定两个正方形及一个二维平面。请找出将这两个正方形分割成两半的一条直线。假设正方形顶边和底边与 x 轴平行。 每个正方形的数据square包含3个数值&#xff0c;正方形的左下顶点坐标[X,Y] [square[0],square[1]]&#xff0c;以及正方形的边长square[2]。所求直线穿…

JDK8 中Arrays.sort() 排序方法解读

一、引言 在刷算法的时候经常需要对数组进行排序&#xff0c;第一反应就是直接使用java.util包下的Arrays.sort()方法直接排序。但在刷算法时会通过时间复杂度和空间复杂度对实现的算法进行评价&#xff0c;因此我们需对Arrays.sort()方法有所了解。 本文先行介绍Arrays.sort…

图的基本概念和术语

图&#xff1a;G&#xff08;V,E&#xff09; V:顶点&#xff08;数据元素&#xff09;的又穷非空集合&#xff1b; E:边的有穷集合。 无向图&#xff1a;每条边都是无方向的G2 有向图&#xff1a; 每条边都是有方向的G1 完全图&#xff1a;任意两个点都有一条边相连 假设…

使用rollup打包ts+react缓存组件发布npm

新建一个项目目录比如叫root,下面新建一个rollup的配置文件: rollup.config.ts 因为rollup良好支持ts和esmodule 所以用ts配置文件 Setup 生成一个package.json文件,这里用pnpm生成: pnpm init安装rollup和Typescript: pnpm add rollup pnpm add typescript配置package.jso…

Android 自定义View 之 简易输入框

简易输入框 前言正文① 构造方法② XML样式③ 测量④ 绘制1. 绘制方框2. 绘制文字 ⑤ 输入1. 键盘布局2. 键盘接口3. 键盘弹窗4. 显示键盘5. 相关API 四、使用自定义View五、源码 前言 在日常工作开发中&#xff0c;我们时长会遇到各种各样的需求&#xff0c;不部分需求是可以通…

在云服务器上部署jupyter服务

1.准备一台云服务器&#xff0c;阿里云、腾讯云都可以&#xff0c;并且远程登陆&#xff0c;在云服务器的安全组中配置8888的访问端口&#xff0c;因为jupyter默认的访问端口是8888&#xff0c;如下述步骤&#xff1b;以阿里云服务器的centos系统为例 2.使用以下命令在服务器…

golang 微服务容错处理是如何做的?

随着微服务的规模越来越大&#xff0c;各个微服务之间可能会存在错综复杂的调用关系 在我们实际工作中&#xff0c;确实慢慢的也出现了很多问题&#xff0c;整个系统的弊端的慢慢的展现出来 例如就会有这样的情况&#xff1a; 服务 A 去请求服务B&#xff0c;服务 B 还需要去…

HTB-Silo

HTB-Silo 信息收集立足root哈希传递攻击 信息收集 分别对smb和rpc都进行guest用户和空密码测试。 1521的Oracle TNS listener 11.2.0.2.0。 搜索可能存在的漏洞。 得到一个CVE编号cve-2012-1675。同时我们可以对其进行SID枚举&#xff0c;SID说简单点就是数据库的名字。 简单…

错题汇总04

1.以下C语言指令&#xff1a; int a[5] {1,3,5,7,9}; int *p (int *)(&a1); printf(“%d,%d”,*(a1)&#xff0c;*(p-1)); 运行结果是什么&#xff1f; A 2,1 B 3,1 C 3,9 D 运行时崩溃 数组名只有在&与sizeof之后&#xff0c;才表明数组本身&#xff0c;其余表…

平均情况时间复杂度

// n表示数组array的长度 int find(int[] array, int n, int x) {int i 0;int pos -1;for (; i < n; i) {if (array[i] x){ pos i; break;}}return pos; } 通过以上代码&#xff0c;我们分析一下平均情况时间复杂度。 以上代码要查找的变量 x 在数组中的位置&#xff…

并发编程02:CompletableFuture

文章目录 2.1 Future接口理论知识2.2 Future接口常用实现类FutureTask异步任务2.2.1 Future接口能干什么2.2.2 Future接口相关架构2.2.3 Future编码实战和优缺点分析2.2.4 完成一些复杂的任务 2.3 CompletableFuture对Future的改进2.3.1 CompletableFuture为什么会出现2.3.2 Co…

Redis持久化篇

文章目录 持久化篇1、AOF持久化是怎么实现的&#xff1f;1.1、AOF日志1.2、三种写回策略1.3、AOF重写机制1.4、AOF后台重写 2、RDB快照是怎么实现的&#xff1f;2.1、快照怎么使用2.2、执行快照时&#xff0c;数据能被修改吗&#xff1f;2.3、RDB和AOF合体 3、Redis大key对持久…

自动驾驶行业观察之2023上海车展-----智驾供应链(2)

传感器供应链发展 图达通&#xff1a;展示长距Lidar“Falcon”&#xff0c;和DeepWay签署定点协议 产品&#xff1a;主视激光雷达 Falcon 猎鹰&#xff08;2023CES曾亮相&#xff09; 核心亮点&#xff1a; • 核心性能&#xff1a;最远探测距离可达 500 米&#xff0c;为智…

《计算机网络—自顶向下方法》 第一章Wireshark实验:Wireshark软件的安装和入门

要深入理解网络协议&#xff0c;需要仔细观察协议实体之间交换的报文序列。为探究协议操作细节&#xff0c;可使协议实体执行某些动作&#xff0c;观察这些动作及其影响。这些任务可以在仿真环境下或在如因特网这样的真实网络环境中完成。观察在正在运行协议实体间交换报文的基…

万字长文详解linux内存管理,值得收藏

一、Linux内存管理概述 Linux内存管理是指对系统内存的分配、释放、映射、管理、交换、压缩等一系列操作的管理。在Linux中&#xff0c;内存被划分为多个区域&#xff0c;每个区域有不同的作用&#xff0c;包括内核空间、用户空间、缓存、交换分区等。Linux内存管理的目标是最…

经典常用的脚本讲解

目录 一&#xff1a;echo 语句 二&#xff1a;while read命令​编辑 三&#xff1a;猴子摘香蕉问题 四:斐波拉切数求前10个数的和 ​五&#xff1a;随机生成8位数的密码 六&#xff1a;二进制转换 &#xff08;1&#xff09;余数倒排法 &#xff08;2&#xff09;减法正…

Google - ISLR 比赛总结

引言 本篇主要想总结一下最近打的GISLR比赛&#xff0c;本来是没想写的&#xff0c;比赛前期感觉赛题很有意思&#xff0c;做了eda以及根据一些base改了改自己的方案&#xff0c;取得了还不错的结果&#xff0c;但因为中途被各种琐事缠身&#xff0c;发生了很多变故&#xff0…

【Linux】Libevent库

Libevent——高性能I/O框架库 底层封装了select&#xff0c;poll&#xff0c;epoll&#xff0c;便于使用 I/O框架库以库函数的形式&#xff0c;封装了较为底层的系统调用&#xff0c;给应用程序提供了一组更便于使用的接口。 特点&#xff1a;1.跨平台&#xff0c;2.统一事件源…

c++面向对象之封装、继承、和多态

一、封装 把客观事物封装成类&#xff0c;而且可以把自己的数据和方法设置为只能让可信的类或者对象操作&#xff0c;对不可信的信息进行隐藏&#xff08;利用public,private,protected,friend)实现 二、继承 2.1类与类的关系 has-a &#xff1a;描述一个类由多个部件类构成…