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.rhkb.cn/news/468611.html

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

相关文章

【Linux】冯诺依曼体系结构

目录 一、冯诺依曼体系结构二、冯诺依曼体系结构的基本组成三、关于冯诺依曼体系结构的一些问题结尾 一、冯诺依曼体系结构 冯诺依曼体系结构&#xff0c;也称为普林斯顿结构&#xff0c;是现代计算机设计的基础框架。这一体系结构由数学家冯诺依曼在20世纪40年代提出&#xf…

M1M2 MAC安装windows11 虚拟机的全过程

M1/M2 MAC安装windows11 虚拟机的全过程 这两天折腾了一下windows11 arm架构的虚拟机&#xff0c;将途中遇到的坑总结一下。 1、虚拟机软件&#xff1a;vmware fusion 13.6 或者 parallel 19 &#xff1f; 结论是&#xff1a;用parellel 19。 这两个软件都安装过&#xff0…

NAT、代理服务与内网穿透技术全解析

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;Linux从入门到进阶 欢迎大家点赞收藏评论&#x1f60a; 目录 NAT 技术背景NAT IP 转换过程NAPTNAT 技术的缺陷 代理服务器正向代理工作原理功能特点应用场景 反向代理基本原理应用场景 NAT 和代理…

优选算法 - 1 ( 双指针 移动窗口 8000 字详解 )

一&#xff1a;双指针 1.1 移动零 题目链接&#xff1a;283.移动零 class Solution {public void moveZeroes(int[] nums) {for(int cur 0, dest -1 ; cur < nums.length ; cur){if(nums[cur] 0){}else{dest; // dest 先向后移动⼀位int tmp nums[cur];nums[cur] num…

qt配合映美精取图开发

最近开发一个项目&#xff0c;用映美精相机配合halcon做取图开发&#xff0c;由于网上资料小特意写个记录。到映美精官网下载驱动&#xff0c;映美精官网&#xff0c;下载映美精的工具开发包SDK 映美精的SDK下载SDK后找到classlib文件夹 里面就是SDK新建一个qt程序&#xff0c…

华为云计算HCIE-Cloud Computing V3.0试验考试北京考场经验分享

北京试验考场 北京考场位置 1.试验考场地址 北京市海淀区北清路156号中关村环保科技示范园区M地块Q21楼 考试场选择北京&#xff0c;就是上面这个地址&#xff0c;在预约考试的时候会显示地址&#xff0c;另外在临近考试的时候也会给你发邮件&#xff0c;邮件内会提示你考试…

LeetCode 509.斐波那契数

动态规划思想 五步骤&#xff1a; 1.确定dp[i]含义 2.递推公式 3.初始化 4.遍历顺序 5.打印dp数组 利用状态压缩&#xff0c;简化空间复杂度。在原代码中&#xff0c;dp 数组保存了所有状态&#xff0c;但实际上斐波那契数列的计算只需要前两个状态。因此&#xff0c;我们…

反向代理开发

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求&#xff0c;然后将请求转发给内部网络上的服务器&#xff0c;将从服务器上得到的结果返回给客户端&#xff0c;此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说&#xff0c;反向代理就相当于…

RabbitMQ — 异步调用

RabbitMQ 是一个开源的消息代理中间件&#xff0c;它使用高级消息队列协议&#xff08;AMQP, Advanced Message Queuing Protocol&#xff09;来实现不同系统之间的消息传递。它以 Erlang 语言编写&#xff0c;具有高可靠性、灵活性和易于扩展的特点&#xff0c;被广泛应用于异…

2025 年使用 Python 和 Go 解决 Cloudflare 问题

作为一名从事网络自动化和爬取工作的开发者&#xff0c;我亲眼目睹了日益复杂的安全性措施带来的挑战。其中一项挑战是 Cloudflare 的 Turnstile CAPTCHA 系统&#xff0c;目前该系统已在全球 2600 多万个网站上使用。这种先进的解决方案重新定义了我们对机器人检测的处理方式&…

大数据的实时处理:工具和最佳实践

在当今的数字世界中&#xff0c;数据以前所未有的速度从无数来源生成&#xff0c;包括社交媒体、物联网设备、电子商务平台等。随着组织认识到这些数据的潜在价值&#xff0c;他们越来越多地转向实时处理&#xff0c;以获得即时、可操作的见解。但是&#xff0c;实时处理大数据…

104、Python并发编程:基于事件Event实现多线程间的同步

引言 继续介绍关于多线程同步的实现方式&#xff0c;本文将介绍基于Event的线程同步方式。 本文的主要内容有&#xff1a; 1、什么是Event 2、Event的使用场景 3、Event的代码实例 4、Event与Condition的比较 什么是Event 在Python的多线程编程中&#xff0c;Event是一个…

第2章2.3立项【硬件产品立项的核心内容】

硬件产品立项的核心内容 2.3 硬件产品立项的核心内容2.3.1 第一步&#xff1a;市场趋势判断2.3.2 第二步&#xff1a;竞争对手分析1.竞争对手识别2.根据竞争对手分析制定策略 2.3.3 第三步&#xff1a;客户分析2.3.4 第四步&#xff1a;产品定义2.3.5 第五步&#xff1a;开发执…

ReactPress数据库表结构设计全面分析

ReactPress Github项目地址&#xff1a;https://github.com/fecommunity/reactpress 欢迎Star。 ReactPress是一个基于React框架开发的开源发布平台和内容管理系统&#xff08;CMS&#xff09;。它不仅支持用户在支持React和MySQL数据库的服务器上搭建自己的博客和网站&#…

ANDROIDWORLD: A Dynamic BenchmarkingEnvironment for Autonomous Agents论文学习

这个任务是基于androidenv的。这个环境之前学过&#xff0c;是一个用来进行强化学习的线上环境。而这篇文章的工作就是要给一些任务加上中间的奖励信号。这种训练环境的优点就是动态&#xff0c;与静态的数据集&#xff08;比如说我自己的工作&#xff09;不同&#xff0c;因此…

华为ENSP--ISIS路由协议

项目背景 为了确保资源共享、办公自动化和节省人力成本&#xff0c;公司E申请两条专线将深圳总部和广州、北京两家分公司网络连接起来。公司原来运行OSFP路由协议&#xff0c;现打算迁移到IS-IS路由协议&#xff0c;张同学正在该公司实习&#xff0c;为了提高实际工作的准确性和…

python-26-Python ORM系列之pymysql实现对数据库的增删改查及新建表

python-26-Python ORM系列之pymysql实现对数据库的增删改查及新建表 一.简介 在Python基础系列ORM部分我们为大家介绍了如何搭建MySQL数据和MySQL一些访问配置&#xff0c;同时细节的同学应该已经了解到了ORM的2个库pymysql和sqlalchemy&#xff1b; PyMySQL — MySQL 数据库…

ADSP21489 M25P16启动后无法使用USBi的问题

项目背景是ADSP21489 使用SPI MASTER 启动模式,程序存储在M25P16中 编译cces产生运行代码 第二步,插上USBi仿真器下载sigma topo 发现无法正常下载 操作多次发现需要目标板重新上点后需要拔插usbi才能下载和启动dsp程序 原因分析: 就是第一次插上usbi后,在给目标板上电,可…

量子计算包kaiwu安装过程踩过的坑

目录 1 安装过程 2 官方代码测试 3 踩坑说明 首先&#xff0c;目前的kaiwu版本仅支持python3.8&#xff0c;所以必须要下载python3.8才能运行kaiwu 1 安装过程 step1: 在页面的SDK标签下&#xff0c;找到对应操作系统的kaiwu包。 step2: 下载python3.8到本地&#xff0c;可…

线程相关概念

线程概念 线程是操作系统中一种基本的执行单元&#xff0c;是程序的最小调度单位。一个程序可以包含多个线程&#xff0c;每个线程代表一个独立的执行路径&#xff0c;使得程序可以并发地处理多个任务。 线程的基本概念 线程与进程的区别&#xff1a; 进程是资源分配的单位&…