安装Jenkins

news2024/11/21 0:36:25

安装Jenkins

jenkins官网

1、安装jdk

1)yum安装

yum search java|grep jdk # yum查看jdk版
yum install -y java-11-openjdk  #安装jre
yum install -y java-devel     #安装jdk

2)自定义安装

①下载java
②上传解压tar
③配置环境变量(此步骤省略即可)cd /etc/profile

export JAVA_HOME=/data/jdk-11.0.16.1
export PATH=$JAVA_HOME/bin:$PATH:$KE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2、安装maven

1)下载maven

maven官网

二进制压缩包下载:

选择apache-maven-3.8.6-bin.tar.gz

在这里插入图片描述

2)压缩包上传至服务器

3)解压缩

tar -zxvf apache-maven-3.8.6-bin.tar.gz

4)修改maven配置文件镜像地址

cd /root/apache-maven-3.8.6/conf
vim settings.xml
 <mirror>
    <id>nexus-aliyun</id>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>

5)配置环境变量

export MAVEN_HOME=/root/apache-maven-3.8.6/
export JAVA_HOME=/data/jdk-11.0.16.1
export PATH=$JAVA_HOME/bin:$PATH:$KE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=${PATH}:${MAVEN_HOME}/bin

5)查看版本

[root@localhost ~]# mvn -v
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: /root/apache-maven-3.8.6
Java version: 11.0.16.1, vendor: Oracle Corporation, runtime: /data/jdk-11.0.16.1
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.18.0-348.el8.x86_64", arch: "amd64", family: "unix"

3、安装Git

配置git地址时,jenkins会自动使用git命令,所以需要安装git

yum install git

4、安装Jenkins

1)war包下载

war包下载
在这里插入图片描述

2)安装运行Jenkins

运行war包

java -jar  jenkins.war

在运行的日志里面可以看见提示:运行过程中已经在/root/.jenkins路径下创建了Jenkins相关的文件,其中默认用户admin,密码在/root/.jenkins/secrets/initialAdminPassword文件里面,日志里面也打印了密码如下:

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

6394bc3ff49b476f8695b2d0233dd7ef

This may also be found at: /root/.jenkins/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

3)访问Jenkins控制台

http://192.168.109.141:8080
输入默认密码:这个文件中/root/.jenkins/secrets/initialAdminPassword
在这里插入图片描述

4)推荐插件安装

选择推荐插件安装——》等待插件安装完成——》创建管理员账号——进入Jenkins控制面板

在这里插入图片描述

5)创建管理员账号

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6)安装maven插件

需要使用maven插件构建项目,所以安装maven插件
步骤如下图:
在这里插入图片描述
在这里插入图片描述
点击安装后跳转至安装页面,滑动至最下面,查看安装进度,等待在线安装完成即可
在这里插入图片描述

7)配置当前服务器中安装的maven

在这里插入图片描述
在这里插入图片描述

8)配置当前服务器中安装的git

首先确定下在Jenkins服务器上已经安装了Git。
可以通过

git --version

来确定是否已经成功安装。
然后再通过

which git

来查看git的目录,并将其复制出来
然后找到Jenkins下的系统管理-全局工具配置-Git
将上面复制的git的路径放在Path to Git executable中
保存

在这里插入图片描述

9)配置当前服务器中安装的java

此处配置的java_home与服务器中/etc/profile中配置的一致
在这里插入图片描述

四、jenkins配置maven+git自动构建jar包

1)新建任务

2)源码管理

① 添加git源码地址

在这里插入图片描述
此步骤如果报错如下,则说明服务器没有安装git
在这里插入图片描述
如果报错如下,则说明该代码仓库为私有,需要修改为公有,或者在Credentials配置凭证
在这里插入图片描述
② 配置分支
在这里插入图片描述

3)Build

配置项目pom文件的路径,以gitlab上的路径为准

在这里插入图片描述

4)构建jar包

在这里插入图片描述
等待一段时间后前面时绿色的√代表成功,红色的×表示失败,具体情况查看控制台日志(可以点击名称进入,查看控制条打印的日志)
在这里插入图片描述
如果遇到如下问题有以下几点原因:
1)则maven仓库镜像配置问题
2)java版本问题
3)jenkins没有配置maven或java
在这里插入图片描述

5)自启动jar查看结果

根据上一步的日志可以查看到打包好的jar在/root/.jenkins/workspace/jenkins-test1/target/jenkins-test1-1.0-SNAPSHOT.jar,所以进入该路径启动jar包,然后访问该工程接口测试。

[root@localhost jdk-11.0.16.1]# cd /root/.jenkins/workspace/jenkins-test1/target
[root@localhost target]# ll
total 4
drwxr-xr-x. 3 root root   40 Nov 18 16:13 classes
drwxr-xr-x. 3 root root   25 Nov 18 16:13 generated-sources
-rw-r--r--. 1 root root 3008 Nov 18 16:13 jenkins-test1-1.0-SNAPSHOT.jar
drwxr-xr-x. 2 root root   28 Nov 18 16:13 maven-archiver
drwxr-xr-x. 3 root root   35 Nov 18 16:13 maven-status
[root@localhost target]# java -jar jenkins-test1-1.0-SNAPSHOT.jar

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.7.1)

2022-11-18 16:34:09.355  INFO 40190 --- [           main] com.buba.Application                     : Starting Application using Java 11.0.16.1 on localhost.localdomain with PID 40190 (/root/.jenkins/workspace/jenkins-test1/target/jenkins-test1-1.0-SNAPSHOT.jar started by root in /root/.jenkins/workspace/jenkins-test1/target)
2022-11-18 16:34:09.358  INFO 40190 --- [           main] com.buba.Application                     : No active profile set, falling back to 1 default profile: "default"
2022-11-18 16:34:12.217  INFO 40190 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8001 (http)
2022-11-18 16:34:12.258  INFO 40190 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2022-11-18 16:34:12.258  INFO 40190 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.64]
2022-11-18 16:34:12.447  INFO 40190 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2022-11-18 16:34:12.447  INFO 40190 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2935 ms
2022-11-18 16:34:14.383  INFO 40190 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8001 (http) with context path ''
2022-11-18 16:34:14.413  INFO 40190 --- [           main] com.buba.Application                     : Started Application in 6.448 seconds (JVM running for 7.687)

测试接口

在这里插入图片描述
如果遇到如下问题:则需要在工程的pom文件中指定maven插件,如下
no main manifest attribute, in jenkins-test1-1.0-SNAPSHOT.jar

解决方法:

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.buba</groupId>
    <artifactId>gitlab-test3</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>gitlab-test3</name>
    <packaging>jar</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <java.version>11</java.version>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>


    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.7.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>2.7.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.7.1</version>
        </dependency>
    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.7.1</version>
                <configuration>
                    <!--   指定该Main Class为全局的唯一入口   -->
                    <mainClass>com.buba.GitlabTest3Application</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <!--  可以把依赖的包都打包到生成的Jar包中  -->
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

6)问题总结:

① springboot应用程序pom有父工程,但是没有搭建私服,找不到父工程

报错:

ERROR: Failed to parse POMs
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for com.buba:gitlab-test3:0.0.1-SNAPSHOT: Could not find artifact org.springframework.boot:spring-boot-starter-parent:pom:2.7.2-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 5, column 13

原本pom如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.2-SNAPSHOT</version>
        <relativePath/> 
    </parent>
    <groupId>com.buba</groupId>
    <artifactId>gitlab-test3</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    
    <name>gitlab-test3</name>
    <properties>
        <java.version>11</java.version>
    </properties>
    .......................省略
</project>

解决:将父工程去掉,再以来中添加版本

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.buba</groupId>
    <artifactId>gitlab-test3</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>gitlab-test3</name>
    <packaging>jar</packaging>

    <properties>
        <java.version>11</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.7.1</version>
        </dependency>
    </dependencies>
</project>

②maven报错:不再支持源选项 5。请使用 6 或更高版本

在这里插入图片描述
问题描述
在构建某个maven项目的时候发生了异常,遇到以下错误,理论上是由于没有指定JAVA版本导致的。
[ERROR] 不再支持源选项 5。请使用 6 或更高版本。
[ERROR] 不再支持目标选项 1.5。请使用 1.6 或更高版本。
解决方案
pom.xml文件中增加maven编译的java.version jdk版本设置,以及maven.compiler.source 资源编译jdk版本设置和maven.compiler.target 资源构建jdk版本设置

For JAVA6~8,一般都是1.6,1.7,1.8的写法。至于1.9用的人少,我也不知道写1.9还是9。

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <java.version>1.8</java.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
</properties> 

For JAVA≥10,例如10以上,都是直接写10,11,12,13,14的。

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <java.version>11</java.version>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
</properties>

③no main manifest attribute

 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.7.1</version>
                <configuration>
                    <!--   指定该Main Class为全局的唯一入口   -->
                    <mainClass>com.buba.GitlabTest3Application</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <!--  可以把依赖的包都打包到生成的Jar包中  -->
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

④Cannot resolve plugin org.springframework.boot:spring-boot-maven-plugin

<dependencies>
      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.7.1</version>
      </dependency>
</dependencies>
<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.7.1</version>
                <configuration>
                    <!--   指定该Main Class为全局的唯一入口   -->
                    <mainClass>com.buba.GitlabTest3Application</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <!--  可以把依赖的包都打包到生成的Jar包中  -->
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
</build>

⑤Maven install报错To see the full stack trace of the errors, re-run Maven with the -e switch
这个问题的原因尚未理解,但是碰巧我有上传了一部分代码,本地clean了一下。后面Jenkins构建就好了。
maven clean 一下将一下文件上传就好了
在这里插入图片描述

五、Jenkins自动发布

1、安装SSH插件

在这里插入图片描述
在这里插入图片描述
等待全部安装完成,如下图所示:

在这里插入图片描述

2、配置服务器地址

在这里插入图片描述
到系统配置页面后一直往下滑找到SSH配置,点击新增
在这里插入图片描述
然后填写必填项
Name:给目标服务器定义名字
hostname:IP地址
username:登陆服务器的用户名
然后点击高级按钮
在这里插入图片描述
勾选使用密码,填写密码
在这里插入图片描述
然后测试是否能够连接成功,连接成功后点击保存,如下图:
在这里插入图片描述

3、Post Steps 构建后(自动发布并运行)

①点击项目进入

在这里插入图片描述
②然后点击配置
在这里插入图片描述
③点击发布步骤配置
在这里插入图片描述
④选择SSH方式连接发送执行
在这里插入图片描述

⑤填写部署步骤配置

SSH Server Name:选择一个已经配置好的服务器
Transfer Set Source files:传输文件(此处**可以模糊匹配任意目录)
remote directory:目标文件夹
exec command:执行的命令(
nohup 在系统后台不挂断地运行命令,退出终端不会影响程序的运行
&:让命令在后台执行,终端退出后命令仍旧执行。)
在这里插入图片描述
点击高级,选中Exec in pty:
在这里插入图片描述
命令优化:nohup java -jar /root/target/*.jar &>>log.log &

在目标服务器中编写启动脚本文件start.sh:

#最后一个执行的脚本放到的位置是/projects/scripts

Project_name=$1
Port_no=$2


#echo $Project_name
#echo $Port_no


. /etc/profile


# 进入到项目
cd /root/gitlab-test3/target


# 找到原进程,kill
pid=$(ps -ef | grep java| grep $Project_name|awk -F '[ ]+' '{print $2}')
kill -9 $pid



#启动jar
nohup java -jar /root/gitlab-test3/target/$Project_name-0.0.1-SNAPSHOT.jar --server.port=$Port_no -server -Xmx1000m -Xms1000m -Xmn700m -XX:+UseParallelGC &

echo "starting service..."
sleep 20


#根据重启后是否有当前应用判断启动是否成功
pid=$(ps -ef | grep java| grep $Project_name|awk -F '[ ]+' '{print $2}')
#echo $pid
if [ -z $pid ];then
  echo "启动失败"
  exit 1
else
  echo $Project_name :  $pid  "SUCCESS"
fi

4、Pre Steps 构建前(执行目标服务器脚本)

kill掉原来的进程
清理掉原来传输的文件

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

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

相关文章

原生js 之 (BOM操作)

BOM(浏览器对象模型) Window对象对应着浏览器窗口本身&#xff0c;它的属性和方法通常被统称为BOM (浏览器对象模型) BOM 提供了独立于内容而与浏览器窗口进行交互的对象。 BOM主要用于管理窗口与窗口之间的通讯&#xff0c;因此其核心对象是Window BOM由一系列相关的对象组成…

Spark DAG及内存迭代计算

文章目录DAGJob与Action之间的关系DAG和分区DAG宽窄依赖DAG宽窄依赖的划分Spark内存迭代计算总结Spark是怎么做内存计算的&#xff1f;DAG的作用&#xff1f;Stage阶段划分作用&#xff1f;Spark为什么比MapReduce快&#xff1f;DAG Spark的核心是根据RDD来实现的&#xff0c;…

cubemx stm32 lu90614模块 人体温度检测模块 可以替代温枪 驱动代码

lu90614 使用串口通信在&#xff0c;指值得注意的是&#xff0c;他的TX接单片机的TX&#xff0c;RX接单片机的RX&#xff0c;和其他的串口设备不一样。 模式切换包 lu90614有两种模式&#xff0c; 一个是物温模式&#xff0c;一个是体温模式&#xff08;检测人体温度用体温…

【CSDN 竞赛—第10期】所有题目解法的思考和总结

目录 一、 熊孩子拜访 二、 走楼梯 三、括号上色 四、喜水青蛙 一、 熊孩子拜访 已知存在一个长度为n的整数序列A。 A中所有元素按照从小到达的顺序进行排序。 现在执行操作倒置一段序列。 请找到A序列里的倒置子序列。 我的解题思路&#xff08;通过所有测试用例&#xff0…

[附源码]java毕业设计星期八酒店管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Opengl ES之PBO

叨叨一句几句 关于Opengl的系列已经有较长的一段时间没有更新了&#xff0c;然而这个系列还远没有到完毕地步&#xff0c;后续至少还有关于Opengl矩阵变换、YUV与RGB互转、Opengl水印贴图、Opengl转场动画等主题文章。 断更的主要原因如果给自己找个借口的话可以说是工作比价…

1100w播放、45w涨粉!黑马UP在B站20天逆袭登顶!

在B站生活区里&#xff0c;“搞笑区”的流量独占鳌头&#xff0c;创作者也是络绎不绝。 为此&#xff0c;B站官方对搞笑内容创作布局了长期的扶持计划&#xff0c;比较热门的两个活动“搞笑新星训练营”、“搞笑研究所”是搞笑内容投稿最多的&#xff0c;至今两个活动已经分别…

动手实践丨基于ModelAtrs使用A2C算法制作登月器着陆小游戏

摘要&#xff1a;在本案例中&#xff0c;我们将展示如何基于A2C算法&#xff0c;训练一个LunarLander小游戏。本文分享自华为云社区《使用A2C算法控制登月器着陆》&#xff0c;作者&#xff1a;HWCloudAI 。 LunarLander是一款控制类的小游戏&#xff0c;也是强化学习中常用的…

C# dll代码混淆加密

目录 一、需求 二、用法 1.新建C#项目 2.开始加密 3.常见的错误 4.添加加密规则 5.导出加密dll 6.调用加密dll 结束 一、需求 C# 项目生成 dll&#xff0c;在反编译工具下&#xff0c;好比皇帝的新装&#xff0c;dll 内部的代码看的一清二楚&#xff0c;在这里推荐一…

关于Cy5.5 alkyne,Cyanine7 alkyne和1628790-37-3,1998119-13-3两者的区别

外观以及性质&#xff1a; Cy5.5 alkyne和Cy7alkyne 都含有荧光基团&#xff0c;其中氰基7的炔烃衍生物&#xff0c;近红外荧光团&#xff0c;Cy7的类似物&#xff0c;Cyanine5.5 alkyne用于点击化学标记的远红外/近红外染料炔烃&#xff0c;炔烃可以通过铜催化的点击化学与多种…

Ubuntu 22.04 一次及其繁琐的 允许 Traceroute 探测漏洞修复之旅

前言&#xff1a;允许 Traceroute 探测是绿盟漏洞扫描器报出来的一个漏洞&#xff0c;如下图&#xff1a; 我的系统是ubuntu 22.04&#xff0c;但由于是用户提供的虚拟机&#xff0c;会有些定制的部分&#xff0c;具体定制了哪部分就不知道了&#xff0c;直接描述问题。 解决问…

【服务器数据恢复】LINUX误删除、误格式化的数据恢复

Linux误删除及误格式化的数据恢复方案针对的文件系统&#xff1a; 1 、基于EXT2/EXT3/EXT4文件系统 &#xff1b; 2 、基于Reiserfs文件系统&#xff1b; 3 、基于Xfs文件系统。 Linux误删除及误格式化的数据恢复解决方案&#xff1a; 一、故障检测&#xff1a; 1、检测是否存在…

java学习day56(Spring Boot)Spring Boot

主要内容&#xff1a; 1.Spring Boot基本应用 2.Spring Boot原理深入及源码剖析 3.Spring Boot数据访问 4.Spring Boot视图技术 5.Spring Boot实战演练 6.Spring Boot项目部署 1. SpringBoot基本应用 1.1 约定优于配置Build Anything with Spring Boot&#xff1a;Spring Boot …

【数据结构】堆的实现及排序

目录一、树的相关概念及其特殊二叉树1、数的相关概念2、特殊二叉树二、堆1、堆的实现1.1、堆向下调整算法和向上调整算法的时间复杂度1.2、堆的构建1.3、堆的插入1.4、堆的删除1.5、取堆顶的数据、堆的个数及堆的判空2、堆的排序一、树的相关概念及其特殊二叉树 讲堆之前&#…

透视虎牙斗鱼三季报:游戏直播在各自“求变”中见分晓

游戏直播行业&#xff0c;依然硝烟弥漫。 经历千播大战、熊猫出局的洗礼后&#xff0c;虎牙和斗鱼双方缠斗升级&#xff0c;另有B站和抖音、快手等视频平台来势汹汹&#xff0c;抢夺仅有的市场蛋糕。 而在游戏行业遇冷、政策趋严等因素多重考验下&#xff0c;这场争夺战无疑将…

fsync

由于目前操作系统都具有延迟写(delayed write)功能&#xff0c; fwrite/write并不会直接把数据写到磁盘上&#xff0c; 而是在buffer满时才开始写入到磁盘。 要想把数据写到磁盘上&#xff0c;需要调用fsync函数 open(fd) write(fd) fsync(fd) close(fd) 或者 fopen(fp…

金仓数据库KingbaseES查询计划剖析

目录 1、KingbaseES数据库中的查询生命周期 2、数据设置 3、KingbaseES解释一个查询 4、什么是数据库中的缓冲区和缓存&#xff1f; 5、VERBOSE 命令参数 6、KingbaseES中的 FORMAT 解释 7、总结EXPLAIN使用方式 8、执行计划查看 了解KingbaseES查询计划对于开发人员和…

HarmonyOS应用API手势方法-绑定手势方法

述&#xff1a;为组件绑定不同类型的手势事件&#xff0c;并设置事件的响应方法。 Api&#xff1a;从API Version 7开始支持 一、绑定手势识别&#xff1a; 通过如下属性给组件绑定手势识别&#xff0c;手势识别成功后可以通过事件回调通知组件。 名称参数类型默认值描述ge…

银河麒麟V10+达梦数据库8保姆级安装教程

银河麒麟V10达梦数据库8保姆级安装教程 一、系统和数据库的下载 银河麒麟V10版本&#xff1a; 首页 → 桌面操作系统 → 银河麒麟桌面操作系统V10 → 试用&#xff08;填写信息&#xff09; → 点击地址进行下载&#xff08;X86centos7&#xff09; #如果不想进行上面的操作,…

Casbin——Java版本(笔记)

文章目录一、Casbin 是什么&#xff1f;二、快速开始2.1 载入配置2.2 如何判断权限2.3 model.conf2.3.1 基本格式2.3.2 SpringBoot下的使用2.3.3 匹配的函数内置函数自定义函数2.3.4 基于角色的访问控制角色的层次区分用户和角色隐式角色权限域内RBAC角色与函数2.3.5 优先级模型…