Jekins篇(搭建/安装/配置)

目录

一、环境准备

1. Jenkins安装和持续集成环境配置

2. 服务器列表

3. 安装环境 Jekins 环境

4. JDK 环境

5. Maven环境

6. Git环境

方法一:yum安装

二、JenKins 安装

1. JenKins 访问

2. jenkins 初始化配置

三、Jenkins 配置

1. 镜像配置

四、Maven 安装和配置

五、Tomcat 安装和配置


一、环境准备

1. Jenkins安装和持续集成环境配置

1、首先,开发人员每天进行代码提交,提交到Git仓库

2、然后,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDK,Maven等软件

完成代码编译,代码测试与审查,测试,打包等工作,在这个过程中每一步出错,都重新再执行一次整个流程。

3、最后,Jenkins把生成的jar或war包分发到测试服务器或者生产服务器,测试人员或用户就可以访问应用。

2. 服务器列表

这儿演示,虚拟机统一采用CentOS7!

名称

Ip

软件

代码托管

192.168.0.108

Gitlab10.8.4

持续集成

192.168.0.109

Jenkins2.22,JDK1.8,Maven3.6.1,Git2.2,

应用服务器

192.168.0.110

Tomcat8,JDK1.8

Gitlab之前有安装过不再复述。

3. 安装环境 Jekins 环境

切换到192.168.0.109机器

jdk----Jenkins使用java开发,首先必然需要安装jdk。

tomcat----Jenkins是一个web应用程序,运行当然需要中间件;

Jenkins的war包中包含了一个叫winstone的应用服务器所以可以直接运行,但在生产环境建议安装tomcat等独

立中间件。

下载解压即可。

maven----Jenkins使用maven构建,所以也需要安装maven。下载解压即可。

4. JDK 环境

这里是将环境变量配置在etc/profile,即为所有用户配置JDK环境。

sudo vi /etc/profile

配置环境变量(注意jdk位置)

#set java env
export JAVA_HOME= /usr/local/tools/jdk1.8.0_181
export JRE_HOME=${JAVA_HOME}/jre 
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 
export PATH=${JAVA_HOME}/bin:$PATH

执行命令使之生效:

source /etc/profile

javac测试好用即可

5. Maven环境

运行以下命令,下载maven安装文件

wget https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
  • 运行tar zvxf apache-maven-3.6.1-bin.tar.gz,解压
  • 编辑文件apache-maven-3.6.1/conf/settings.xml,可以指定本地仓库或者私服(默认)
  • 开始配置环境变量,编辑文件/etc/profile
  • 在最下面添加以下内容(MAVEN_HOME是刚才解压maven的路径)
export MAVEN_HOME=/usr/local/tools/apache-maven-3.6.1export PATH=$MAVEN_HOME/bin:$PATHsource /etc/profile

6. Git环境

方法一:yum安装

1、在Linux上是有yum安装Git,非常简单,只需要一行命令

yum -y install git

输入 git --version查看Git是否安装完成以及查看其版本号

顺便说一下,yum安装git被安装在/usr/libexec/git-core目录下

至此,yum安装git完成。

注意:yum安装的版本不能控制。默认的1.8.3.

我们想自己指定版本就要通过源码下载安装。

如下:

1、 进入git在GitHub上发布版本页面https://github.com/git/git/tags,这个页面我们可以找到所有git已发布

的版本。

这里我们选择最新版的tar.gz包。下载的源码是2.22:https://github.com/git/git/archive/v2.22.2.tar.gz

tar -zxvf git-2.22.0.tar.gz

2、进入到解压后的文件夹

cd git-2.22.0

3、拿到解压后的源码以后我们需要编译源码了,不过在此之前需要安装编译所需要的依赖。

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

耐心等待安装完成,中途出现提示的时候输入y并按回车。

4、提示,安装编译源码所需依赖的时候,yum自动帮你安装了git,这时候你需要先卸载这个旧版的git。

yum -y remove git

5、编译git源码

make prefix=/usr/local/git all

6、安装git至/usr/local/git路径

make prefix=/usr/local/git install

7、配置环境变量

vi /etc/profile 

在底部加上

export PATH=$PATH:/usr/local/git/bin

( 输入 :wq! 保存修改)

8、刷新环境变量

source /etc/profile

9、查看Git是否安装完成

git --version

至此,从github上下载最新的源码编译后安装git完成。

二、JenKins 安装

下载地址:Download and deploy

直接选war包下载

jenkins.war

各个版本Jenkins下载

浏览器下载慢到fuck,可以借助迅雷等下载。

1. JenKins 访问

如果使用tomcat,那么在jenkins下载完后将war包直接复制到tomcat的webapps目录下,然后启动tomcat

启动完成后直接访问链接:http://192.168.0.108:8080/jenkins/

2. jenkins 初始化配置

初次访问http://192.168.0.108:8080/jenkins/,出现如下界面。

密码在启动控制台打印出来,如果没找到,那到图中提示的文件查看即可。

点击继续

注意注意注意!!!!选择第二个自定义安装,然后选择无。

创建用户并且实例配置

三、Jenkins 配置

1. 镜像配置

重点来啦:

我们要修改 Jenkins 插件下载地址,否则Jenkins会让你怀疑人生。

以上的配置 Json 其实在 Jenkins 的工作目录中

$ cd {你的Jenkins工作目录}/updates  #进入更新配置位置

tomcat 安装的在 /root/.jenkins 里面 updates

vim default.json   #这个Json文件与上边的配置文件是相同的

Copy

这里 wiki 和 github 的文档不用改,我们就可以成功修改这个配置

使用 vim 的命令,如下,替换所有插件下载的 url

:1,$s/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g

Copy

替换连接测试url

:1,$s/http:\/\/www.google.com/https:\/\/www.baidu.com/g

Bash

Copy

进入vim先输入:然后再粘贴上边的:后边的命令,注意不要写两个冒号!

修改完成保存退出:wq

修改URL为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

提交

重启 http://192.168.0.109:8080/jenkins/restart

测试镜像

下载中文汉化插件

Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索"Chinese"

安装。重启Jenkins后,就看到Jenkins汉化了!不同版本可能部分菜单汉化会失败。

四、Maven 安装和配置

下载解压,这些都省略

修改Maven的settings.xml

mkdir /root/repo 创建本地仓库目录

vi /opt/maven/conf/settings.xml

本地仓库改为:/root/repo/

添加阿里云私服地址:

<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror>

测试Maven是否配置成功,使用之前的gitlab密码测试项目,修改配置

输入

mvn clean package

构建完成

可以看到war包

在Jenkins中配置全局环境变量

五、Tomcat 安装和配置

切换到192.168.0.110机器

准备好jdk,Tomcat

配置Tomcat用户角色权限,默认情况下Tomcat是没有配置用户角色权限的

后续Jenkins部署项目到Tomcat服务器,需要用到Tomcat的用户,所以修改tomcat以下配置,添加用户及权限

vi conf/tomcat-users.xml

注意:配置文件不要折行。

<tomcat-users>
<role  rolename="tomcat"/>
<role  rolename="role1"/>
<role  rolename="manager-script"/>
<role  rolename="manager-gui"/>
<role  rolename="manager-status"/>
<role  rolename="admin-gui"/>
<role  rolename="admin-script"/>
<user  username="tomcat"  password="tomcat"  roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
</tomcat-users>

用户和密码都是:tomcat

注意:为了能够刚才配置的用户登录到Tomcat,还需要修改以下配置

vi /webapps/manager/META-INF/context.xml
<!--<Valve  className="org.apache.catalina.valves.RemoteAddrValve"allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"  />-->

把上面这行注释掉即可! 重启Tomcat,访问测试

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

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

相关文章

mmpose框架进行人体姿态识别模型HRNet训练

进行训练之前要先进行标注及数据增强&#xff0c;标注工具写在另一篇&#xff0c;首先讲数据增强。 数据增强 进行简单的色彩变换和位置变换&#xff0c;代码如下&#xff1a; from PIL import Image, ImageEnhance import numpy as np import os import glob import json im…

Dinky中配置Flink集群

需要启动yarn-session 进程&#xff0c;在集群服务器 cd /pwd//flink/bin yarn-session -d 启动成功后可以在yarn的资源管理队列进行查看 启动成功后会给出&#xff1a;JobManager Web Interface 在dinky中进行配置&#xff1a; 集群配置 Hadoop 配置&#xff1a; H…

Android13 系统/用户证书安装相关分析总结(三) 增加安装系统证书的接口遇到的问题和坑

一、前言 接上回说到&#xff0c;修改了程序&#xff0c;增加了接口&#xff0c;却不知道有没有什么问题&#xff0c;于是心怀忐忑等了几天。果然过了几天&#xff0c;应用那边的小伙伴报过来了问题。用户证书安装没有问题&#xff0c;系统证书(新增的接口)还是出现了问题。调…

hashcat爆破rar密码

背景&#xff1a; 在一道CTF题目的时候遇到了一个rar加密压缩包&#xff0c;记录一下爆破过程。 过程&#xff1a; 1、在前一个压缩包里面发现密码提示 2、file查看文件类型&#xff0c;发现是RAR v5&#xff0c;无法使用ARCHPR爆破&#xff0c;排除&#xff1b; 3、使用Pa…

构建多维分类知识库:Spring Boot实战

1 绪论 1.1 研究背景 在这个推荐个性化的时代&#xff0c;采用新技术开发一个多维分类的知识管理系统来分享和展示内容是一个永恒不变的需求。本次设计的多维分类的知识管理系统有管理员和用户两个角色。 管理员可以管理用户信息&#xff0c;知识分类&#xff0c;知识信息等&am…

深度学习实战100-大模型LLM之混合专家模型MoE的原理,以及代码实现过程

大家好,我是微学AI,今天给大家介绍一下深度学习实战100-大模型LLM之混合专家模型MoE的原理,以及代码实现过程。 混合专家模型(Mixture of Experts, MoE)是一种创新性的神经网络架构,巧妙地结合了 问题分类 和 领域专家 的概念。在这种架构中,输入数据首先经过一个门控网络…

AI + 绘画 | 100个可变现的渠道、方式

商机&#xff1a;AI绘画技术在美发⾏业的应⽤&#xff0c;旨在降低视频和图⽂制作成本&#xff0c;提升服务展⽰效果。通过AI技术&#xff0c;可以轻松展⽰发型设计前后对⽐&#xff0c;解决顾客与发型师之间的沟通难题。 变现&#xff1a; 1.⽣产图⽂内容或教程&#xff0c;…

[vulnhub]Empire: Breakout

https://www.vulnhub.com/entry/empire-breakout,751/ 端口扫描主机发现 探测存活主机&#xff0c;183是靶机 nmap -sP 192.168.75.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-05 23:37 CST Nmap scan report for 192.168.75.1 Host is up (0.00045s latency…

精益生产管理培训对哪些岗位的人更有帮助?

精益生产管理培训作为一种提升企业运营效率和管理水平的有效手段&#xff0c;在现代企业中扮演着至关重要的角色。它不仅能够帮助企业减少浪费、优化流程&#xff0c;还能增强员工的责任感和团队协作能力。那么&#xff0c;精益生产管理培训对哪些岗位的人更有帮助呢&#xff1…

OpenCV的操作

1.图像的基本操作 1.1读取图像 image_handler cv2.imread(image_path, cv2.IMREAD_COLOR) 第一个参数图片的存储路径&#xff0c;第二个参数是图像的读取方式 第二个参数有三个选项: cv2.IMREAD_UNCHANGED&#xff1a;保持原格式不变&#xff0c;-1&#xff1b;cv2.IMREA…

数据结构之单链表

前言&#xff1a;上一篇文章我们了解到顺序表&#xff0c;这一次来看另一种线性表-------单链表。 1. 单链表的概念 单链表&#xff0c;想必很多人会感到陌生吧。那么&#xff0c;到底什么是单链表呢&#xff1f;先了解清楚单链表的概念及特性&#xff0c;才能够更好的实现单…

RabbitMQ死信队列

RabbitMQ死信队列 1、RabbitMQ死信队列2、代码示例2.1、队列过期2.1.1、配置类RabbitConfig&#xff08;关键代码&#xff09;2.1.2、业务类MessageService2.1.3、配置文件application.yml2.1.4、启动类2.1.5、配置文件2.1.6、测试 2.2、消息过期2.2.1、配置类RabbitConfig2.2.…

高亚科技签约酸动力,助力研发管理数字化升级

近日&#xff0c;中国企业管理软件资深服务商高亚科技与广东酸动力生物科技有限公司&#xff08;以下简称“酸动力”&#xff09;正式签署合作协议。借助高亚科技的8Manage PM项目管理软件&#xff0c;酸动力将进一步优化项目过程跟踪与节点监控&#xff0c;提升研发成果的高效…

Linux操作系统:学习进程_对进程的深入了解

目录 前言 开篇 一、进程概念 二、进程的描述与管理 1、如何描述与管理 2、Linux中的PCB-task_struct 3、对进程组织的理解 三、进程的属性 1、系统创建进程 2、查看进程 3、进程的标识符 4、退出进程 1>ctrlc 2>kill命令杀死进程 5、用户进程的创建方式…

大客户营销数字销售实战讲师培训讲师唐兴通专家人工智能大模型销售客户开发AI大数据挑战式销售顾问式销售专业销售向高层销售业绩增长创新

唐兴通 销售增长策略专家、数字销售实战导师 专注帮助企业构建面向AI数字时代新销售体系&#xff0c;擅长运用数字化工具重塑销售流程&#xff0c;提升销售业绩。作为《挑战式销售》译者&#xff0c;将全球顶尖销售理论大师马修狄克逊等理论导入中国销售业界。 核心专长&…

【Attention】ICAFusion:用于多光谱物体检测的迭代交叉注意引导的特征融合

ICAFusion: Iterative cross-attention guided feature fusion for multispectral object detection 摘要&#xff1a; 多光谱图像的有效特征融合在多光谱物体检测中起着至关重要的作用。以往的研究已经证明了使用卷积神经网络进行特征融合的有效性&#xff0c;但由于局部范围…

CSP/信奥赛C++刷题训练:经典广搜例题(2):洛谷P1135 :奇怪的电梯

CSP/信奥赛C刷题训练&#xff1a;经典广搜例题&#xff08;2&#xff09;&#xff1a;洛谷P1135 &#xff1a;奇怪的电梯 题目背景 感谢 yummy 提供的一些数据。 题目描述 呵呵&#xff0c;有一天我做了一个梦&#xff0c;梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电…

K8S群集调度二

一、污点(Taint) 和 容忍(Tolerations) 1.1、污点(Taint) 设置在node上是对pod的一种作用 节点的亲和性&#xff0c;是Pod的一种属性&#xff08;偏好或硬性要求&#xff09;&#xff0c;它使Pod被吸引到一类特定的节点 而Taint 则相反&#xff0c;它使节点能够排斥一类特…

成都郝蓉宜恺文化传媒:引领大数据应用新篇章

在信息化浪潮汹涌的今天&#xff0c;大数据被誉为新时代的“石油”&#xff0c;正在以前所未有的速度改变着我们的生活和工作方式。成都郝蓉宜恺文化传媒&#xff0c;作为大数据领域的领军企业&#xff0c;始终站在创新的前沿&#xff0c;引领着大数据应用的新篇章。 作为大数…

51c自动驾驶~合集5

我自己的原文哦~ https://blog.51cto.com/whaosoft/11563178 #MapDistill 速度精度双起飞&#xff0c;让End2End更丝滑 在线高精&#xff08;HD&#xff09;地图构建是自动驾驶领域的一项重要且具有挑战性的任务。最近&#xff0c;人们对不依赖于激光雷达等其他传感器的基于…