运维学习————Jenkins(1)

目录

一、项目开发周期

二、jenkins的简介和作用

三、jenkins下载 

1、使用war包安装

2、初始化配置

3、工作流程图

4、Jenkins安装配置maven和git

maven

git

5、jenkins安装插件

6、配置maven,git,jdk

jdk配置

Git配置

Maven配置

四、修改tomcat的一些配置

五、idea上传项目到gitee

六、构建Maven项目到运行的tomcat

一、项目开发周期

传统开发:是指将整个项目完全开发完交付给用户(客户)。

敏捷开发:交给用户的时候可能用户感觉没有达到他们想要的效果,所以出现了现在的敏捷开发。项目非常大,前期先开发核心功能,把核心功能上线后,后期根据计划(2-3周迭代一次),把非核心功能逐步上线,最终达到所有功能上线完成,在核心功能上线后,项目一直可用状态。敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。(微服务项目非常适合敏捷开发)

在敏捷开发过程中迭代开发

二、jenkins的简介和作用

作为领先的开源自动化服务器,Jenkins 提供了数百个插件来支持构建、部署和自动化任何项目
 

构建伟大,无所不能。Jenkins是开源CI(持续集成Continuous Integration)&CD(持续开发Continuous deployment)软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的部署需要(如何把我们项目部署到测试或者生产环境技术)。
 

Jenkins是一款开源 CI(Continuous integration)&CD(Continuous deployment) 软件,用于自动化各种任务,包括构建、测试和部署软件。
 

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。上图中持续集成就是jenkins的用武之地。
 

CI系统在整个开发过程中的主要作用是控制:当系统在代码存储库(git服务器(gitee,github等),svn服务器,私服(gitlab))中探测到修改时,它将运行构建的任务委托给构建过程本身(jenkins)。如果构建失败了,那么CI系统将通知相关人员,然后继续监视存储库。 能保证开发人员以及相关人员省时省力提高开发效率。(提高运维的效率,让项目部署速度加快,缩短整个开发周期)

三、jenkins下载 

官网:https://jenkins.io/

jenkins.war:jenkins.war

tomcat.tar:tomcat9.0.52

maven:maven3.8.6.tar

1、使用war包安装

#解压tomcat
tar -xzvf /software/apache-tomcat-9.0.52.tar.gz -C /usr/

#把war包放入tomat webapp/  运行tomcat即可
#更换jdk11(jdk8出现404错误)

#更换jdk版本为11

java -version
echo $JAVA_HOME
rpm -qa|grep jdk
rpm -evh jdk1.8-1.8.0_151-fcs.x86_64
yum install fontconfig java-11-openjdk -y
rpm -qa|grep jdk


rpm -ql java-11-openjdk
ls /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64/
vim /etc/profile 
source /etc/profile
java -version 

配置好jdk之后:浏览器输入:ip+端口/jenkins访问

比如我的是:192.168.37.155:8080/jenkins

2、初始化配置

根据提示复制密码,登录

登录之后

选择install suggested plugins,等待安装完毕

如果有安装失败的可以跳过,之后可以手动根据需求安装

创建自己的用户名和密码

3、工作流程图

4、Jenkins安装配置maven和git

maven

#解压maven
tar -xzvf /software/apache-maven-3.8.6-bin.tar.gz -C /usr/


#配置环境变量
vim /etc/profile

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.16.0.8-1.el7_9.x86_64
export MAVEN_HOME=/usr/apache-maven-3.8.6
export PATH=$PATH:$MAVEN_HOME/bin:$JAVA_HOME/bin

#让配置生效
source /etc/profile
#查看结果
mvn -v

#查看是否是阿里云配置
vim /usr/apache-maven-3.8.2/conf/settings.xml

#在mirrors中加入:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

git

#安装git
yum install -y git
#查看git安装目录
which git     #/usr/bin/git

5、jenkins安装插件

安装github Integration

安装maven Integration

安装deploy to container

6、配置maven,git,jdk

jdk配置

Git配置

Maven配置

点击保存就可以了

四、修改tomcat的一些配置

登录tomcat,你会发现这三个页面进不去,报403错误,也就是权限不够

接下来我们修改一下配置信息

改配置:
vim /usr/apache-tomcat-8.5.49/conf/tomcat-users.xml
加入下面配置:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status"/>



#修改远程访问权限
vim 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,再次访问就可以了,这次需要输入用户名和密码

五、idea上传项目到gitee

上传个可以打成war包的项目,这个例子测试的是war包部署

参考之前的文章:https://blog.csdn.net/m0_73376570/article/details/140399520

六、构建Maven项目到运行的tomcat

源码管理

先添加一下凭证

配置Build 

clean package -Dmaven.test.skip=true

点击保存,如果配置有问题,还可以修改

点击绿色按钮,开始构建

构建成功

回到Tomcat的manager的页面,就会发现多一个服务点击可以跳转

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[网络编程]TCP和UDP的比较 及 通过java用UDP实现网络编程

文章目录 一. 网络编程套接字TCP和UDP的特点有连接 vs 无连接可靠传输 vs 不可靠传输面向字节流 vs 面向数据报全双工 vs 半双工 二. java用UDP实现网络编程代码实现:运行代码:启动多个客户端别人能否使用?实现翻译功能 一. 网络编程套接字 网络编程套接字, 就是指操作系统提…

[000-01-008].Seata案例应用

业务说明&#xff1a;这里我们创建三个服务&#xff0c;一个订单服务&#xff0c;一个库存服务&#xff0c;一个账户服务。当用户下单时&#xff0c;会在订单服务中创建一个订单&#xff0c;然后通过远程调用库存服务来扣减下单商品的库存&#xff1b;再通过远程调用账户服务来…

AD7606工作原理以及FPGA控制验证(串行和并行模式)

文章目录 一、AD7606介绍二、AD7606采集原理2.1 AD7606功能框图2.2 AD7606管脚说明 三、AD7606并行模式时序分析以及实现3.1 并行模式时序图3.2 并行模式时序要求3.3 代码编写3.4 仿真观察 四、AD7606串行模式时序分析以及实现4.1 串行模式时序图4.2 串行模式时序要求4.3 代码编…

使用Cskin时候 遇到按钮有默认阴影问题解决

使用Cskin时候 遇到按钮有默认阴影 设置 DrawType 属性就可以了

全网最火的AI技术:GraphRag概念详解

GraphRAG是一种结合了知识图谱&#xff08;Knowledge Graph&#xff09;和大语言模型&#xff08;LLM&#xff09;的检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;技术&#xff0c;旨在通过将结构化和非结构化数据相结合来增强生成式AI的表现。它的…

[已更新问题二三matlab+python]2024数学建模国赛高教社杯C题:农作物的种植策略 思路代码文章助攻手把手保姆级

发布于9.6 10:00 有问题后续会修正!! 问题一代码展示: 问题二代码结果展示: 问题三代码展示: https://docs.qq.com/doc/DVVVlV0NmcnBDTlVJ问题一部分代码分享: #!/usr/bin/env python # coding: utf-8# In[15]:import pandas as pd# In[16]:# 读取Excel文件 file_path 附件2…

【数学建模备赛】Ep07:灰色预测模型

文章目录 一、前言&#x1f680;&#x1f680;&#x1f680;二、&#xff1a;灰色预测模型☀️☀️☀️1. 灰色系统引入2. 方法3. 步骤① 累加法产生新序列② 利用部分和序列相邻两项的加权平均产生序列z③ 建立关于原始数据与序列z的灰微分方程④ 利用最小二乘法确定灰微分方程…

win10添加右键菜单打开VSCode

当进入一个文件夹后&#xff0c;想右键直接打开我的工程&#xff0c;用发现没有vscode项。本文就来介绍如何右键通过vsCode打开项目。步骤1&#xff1a;在桌面新建一个txt文档&#xff0c;用文本编辑器打开 步骤2&#xff1a; 查看vscode所在位置 在桌面找到vscode快捷键图标&…

【大规模语言模型:从理论到实践】Transformer中PositionalEncoder详解

书籍链接&#xff1a;大规模语言模型&#xff1a;从理论到实践 第15页位置表示层代码详解 1. 构造函数 __init__() def __init__(self, d_model, max_seq_len80):super().__init__()self.d_model d_model # 嵌入的维度&#xff08;embedding dimension&#xff09;d_mode…

基于springboot的二手车交易系统的设计与实现

题目&#xff1a;基于springboot的二手车交易系统的设计与实现 摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因…

【书籍推荐】马斯克推荐的5部经典书籍

埃隆马斯克是谁想必已经不需要介绍&#xff0c;世界首富都推荐过哪些值得看的好书&#xff1f;今天这篇文章整理了5本马斯克曾推荐过或评价值得一读的书&#xff0c;或许可以从中一探他改变世界的方法和奥秘。 《结构是什么》 结构高于内容&#xff0c;结构决定内容。内容是表…

C++笔记15•数据结构:二叉树之二叉搜索树•

二叉搜索树 1.二叉搜索树 概念&#xff1a; 二叉搜索树又称二叉排序树也叫二叉查找树&#xff0c;它可以是一棵空树。 二叉树具有以下性质: 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 若它的右子树不为空&#xff0c;则右子树上所有节点的值都…

vue3+ts封装类似于微信消息的组件

组件代码如下&#xff1a; <template><div:class"[voice-message, { sent: isSent, received: !isSent }]":style"{ backgroundColor: backgroundColor }"click"togglePlayback"><!-- isSent为false在左侧&#xff0c;为true在右…

十分钟简单了解Java中的数据类型和变量!

一.字面常量 public class test{public static void main(String[] args){system.out.println("Hello world!");} }在上述代码中&#xff0c;system.out.println(“Hello world!”);语句不管何时运行&#xff0c;输出的结果都是Hello world!,其实Hello world&#xf…

Obsidian git sync error / Obsidian git 同步失敗

Issue: commit due to empty commit message Solution 添加commit資訊&#xff0c;確保不留空白 我的設置&#xff1a;auto-backup: {{hostname}}/{{date}}/

虚幻引擎(Unreal Engine)技术使得《黑神话悟空传》大火,现在重视C++的开始吃香了,JAVA,Go,Unity都不能和C++相媲美!

虚幻引擎&#xff08;Unreal Engine&#xff09;火了黑神话游戏。 往后&#xff0c;会有大批量的公司开始模仿这个赛道&#xff01; C 的虚拟引擎技术通常指的是使用 C 语言开发的游戏引擎&#xff0c;如虚幻引擎&#xff08;Unreal Engine&#xff09;等。以下是对 C 虚拟引…

ThreadPoolExecutor状态流转和源码分析

为什么使用线程池 降低资源消耗 &#xff0c;可以重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度&#xff0c;当任务到达时&#xff0c;任务可以不需要等到线程创建就能立即执行。提高线程的可管理性 &#xff0c;线程是稀缺资源&#xff0c;如果无限制地创…

如何从 AWS CodeCommit 迁移到极狐GitLab?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;可以私有化部署&#xff0c;对中文的支持非常友好&#xff0c;是专为中国程序员和企业推出的企业级一体化 DevOps 平台&#xff0c;一键就能安装成功。安装详情可以查看官网指南。 本文将分享如何从 AWS CodeCommit 服务无缝迁…

2024年六月英语四级真题及解析PDF共9页

2024年六月英语四级真题及解析PDF共9页&#xff0c;真题就是最好的复习资料&#xff0c;希望对大家有所帮助。

Python爬虫(一文通)

Python爬虫&#xff08;基本篇&#xff09; 一&#xff1a;静态页面爬取 Requests库的使用 1&#xff09;基本概念安装基本代码格式 应用领域&#xff1a;适合处理**静态页面数据和简单的 HTTP 请求响应**。 Requests库的讲解 含义&#xff1a;requests 库是 Python 中一个…