Jenkins 基本使用

2023-11-08

在jenkins的项目中上配置通过ssh发布jar包到远程服务器

克隆 – 编译 – 测试 – 打包

下载 jenkins.war

下载地址
https://blog.csdn.net/m0_46370483/article/details/121508249

jenkins 2.346.3 应该是 LTS 版本中最后一个支持java8的版本

maven工具安装
初始化

初次登录Jenkins
java -jar jenkins.war

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

4a86d099da1d4bda9849c00fbfb6a1d2
This may also be found at: /root/.jenkins/secrets/initialAdminPassword
*************************************************************
admin
中文语言设置 Locale

jenkins中文语言设置
https://blog.csdn.net/yu_hongrun/article/details/124147064

安装插件

Jenkins 启动成功之后,接下来我们安装三个必要的插件:
Maven Integration:Maven 构建工具,在jenkins中打jar包。
Publish Over SSH:SSH文件传输工具插件,把Jenkins 打包好的 jar文件上传到应用服务器上。相当于xftp,用于文件上传。
Gitee:协助使用 Gitee 仓库。
Role-based Authorization Strategy:用于控制权限的,可以给不同用户设置管理员、读、写权限。
在这里插入图片描述

在这里插入图片描述

#常用插件汇总
Build-timeout Plugin:任务构建超时插件
Naginator Plugin:任务重试插件
Build User Vars Plugin:用户变量获取插件
Build Pipeline Plugin View :Pipeline 管道流图表展示插件

Build Flow Plugin:工作流插件,支持DSL脚本定义工作流
Build Graph View Plugin:build Flow插件视图(安装后需要重新才能生效)
Multijob Plugin:多任务插件
Build-timeout Plugin:job构建超时插件
Build Timestamp Plugin :任务log时间戳插件,使得job log的每次输出前面都增加当时的时间
Parameterized Trigger Plugin:这是一个扩展型的插件,使各个job连接的时候可以传递一些job相关的信息
Join Plugin:这也是一个触发job的插件,亮点在于它触发job的条件是等待所有当前job的下游的job都完成才会发生。
Files Found Trigger:检测指定的目录,如果发现指定模式的文件则启动build。
BuildResultTrigger Plugin:根据其他的job的成功或失败来启动此build。
Publish Over SSH ,用于远程服务器发布,将编译生成的jar、war等文件通过ssh发送到远程服务器中指定的目录;
Rebuild Plugin:重新执行插件
ws-cleanup Plugin :workspace清理插件
Cron Column Plugin: 通过定时任务例行的运行一些job
Job Configuration History Plugin:使用心得:使job具备版本管理的能力,diff和rollback功能更是非常赞
HTTP Request Plugin:使用心得:在构建前后可以通过该插件以http形式调用各种api接口实现和内部系统的联动
Periodic Backup:使用心得:备份是运维一个系统必须要保障的事情,该插件的恢复功能可能不可用,需要手工进行,好处在于可以定时备份
Job Import Plugin:使用心得:可以快速导入其他jenkins集群的已有job,需要认证的jenkins系统导入需要提供凭证才可以
Status Monitor Plugin:构建状态插件
Build Monitor View :使用心得:基于该插件可以实现dashboard功能
Build Environment Plugin:构建环境插件,可以进行构建环境比较。
FTP插件:
Monitoring:Monitoring of Jenkins

基础依赖插件:
jQuery Plugin:jQuery插件

作为CI/CD的调度中心,Jenkins具有十八般武艺,目前已有1700多个插件,功能强大到似乎有点过分了。本文主要列出平时我们常用的插件。

以下这两个网站是Jenkins所有的插件及说明
Jenkins Plugins https://plugins.jenkins.io
Jinkins Plugins Wiki https://wiki.jenkins.io
配置插件(清华源)

Global Tool Configuration

Maven配置

在这里插入图片描述

配置SSH Server

进入到系统配置的第一个,系统配置。找到publish over ssh

Jenkins通过SSH进行文件传输 https://blog.csdn.net/rockstics/article/details/117379233

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

Source files **/* 表示Jenkins工作空间下的jar文件。
Remove prefix 该操作是针对上面的source files目录,会移除匹配的目录。通常留空。
Remote directory 目标服务器目录进行。这里我的服务器配置是的/www. 因此这里应该写sites/sskzmz即可。
Exec command 远程服务器执行的命令。例如可以输出 service nginx restart 或者/www/start. sh等命令。
高级:
Exclude files:排除的文件(在你传输目录的时候很有用,使用通配符,例如:/.log,/.tmp,.Git/)
Pattern separator:分隔符(配置Transfer Set Source files的分隔符。如果你这儿更改了,上面的内容也需要更改)
No default excludes:禁止默认的排除规则(具体的自己看帮助)
Make empty dirs:此选项会更改插件的默认行为。默认行为是匹配该文件是否存在,如果存在则创建目录存放。选中此选项会直接创建一个目录存放文件,即使是空目录。(个人理解)
Remote directory is a date format:远程目录建立带日期的文件夹(需要在Remote directory中配置日期格式)
Flatten files:只上传文件,不创建目录(除了远程目录)
Exec timeout (ms):运行脚步的超时时间(毫秒)
Exec in pty:模拟一个终端执行脚步
Add Transfer Set:增加一个配置

4.创建自动化任务

全部准备工作就绪,就开始创建自动化部署任务。拉取代码、打包、上传对应服务器、重启jar包。

构建一个Maven项目

安装maven插件,搜索 Maven Integration

配置

General

Discard old builds 只保留最近5条
在这里插入图片描述

1.源码管理 Git 无
Build
D:\CodingProject\v5-cloud\pom.xml
clean install -pl v5-company-service -am -Dmaven.test.skip=true


-Dmaven.repo.local=C:\Users\Lyndon\.m2\repository

在这里插入图片描述

mvn命令

参数说明:
-am --also-make 同时构建所列模块的依赖模块;
-amd -also-make-dependents 同时构建依赖于所列模块的模块;
-pl --projects 构建制定的模块,模块间用逗号分隔;
-rf -resume-from 从指定的模块恢复反应堆。
在这里插入图片描述

#其他写法
${WORKSPACE_HOME}\pom.xml
${WORKSPACE_HOME}\mall-gateway\pom.xml
clean install -pl mall-base,mall-common -am -Dmaven.test.skip=true  多个基础模块用逗号隔开

https://zhuanlan.zhihu.com/p/337241687
问题 编译时clean 指令没有识别出来,在pom.xml中加入
    <properties>
        <skipTests>true</skipTests>
    </properties>
 
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>2.4.1</version>
            </plugin>
        </plugins>
    </build>
其他

构建环境中勾选“Add timestamps to the Console Output”,代码构建的过程中会将日志打印出来。

不自动触发下游项目

设置即可实现不自动触发下游项目
取消选项:Enable triggering of downstream projects
取消选择:Block downstream trigger when building

Post Steps

Run only if build succeeds 选项

Jenkins 可以在构建中执行shell命令或者windows的batch 命令。

Execute Windows batch command

新增Windows 拷贝文件命令(Execute Windows batch command ),将Maven执行编译的Idea项目内target/*.jar包,拷贝到Jenkins job下的workspace目录。(因为我Windows本地Jenkins的workspace是空目录,到这里卡住好久,这个办法帮到我了)

copy D:\CodingProject\v5-cloud\v5-company-service\target\*.jar D:\jenkins\jobs\v5-company-service\workspace

在这里插入图片描述

Send files or execute commands over SSH

将jar包发送到远程Linux指定目录
在这里插入图片描述

执行结果
11:48:54 Started by user unknown or anonymous
11:48:54 Running as SYSTEM
11:48:54 Building in workspace D:\jenkins\jobs\v5-company-service\workspace
11:48:54 Parsing POMs
11:48:54 Established TCP socket on 50207
11:48:54 [v5-cloud] $ java -cp D:\jenkins\plugins\maven-plugin\WEB-INF\lib\maven35-agent-1.14.jar;D:\apache-maven-3.8.1\boot\plexus-classworlds-2.6.0.jar;D:\apache-maven-3.8.1/conf/logging jenkins.maven3.agent.Maven35Main D:\apache-maven-3.8.1 D:\jenkins\war\WEB-INF\lib\remoting-4.13.2.jar D:\jenkins\plugins\maven-plugin\WEB-INF\lib\maven35-interceptor-1.14.jar D:\jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-commons-1.14.jar 50207
11:48:56 <===[JENKINS REMOTING CAPACITY]===>channel started
11:48:57 Executing Maven:  -B -f D:\CodingProject\v5-cloud\pom.xml -s D:\apache-maven-3.8.1\conf\settings.xml -gs D:\apache-maven-3.8.1\conf\settings.xml clean install -pl v5-company-service -am -Dmaven.test.skip=true
11:48:58 [INFO] Scanning for projects...
11:48:58 [INFO] ------------------------------------------------------------------------
11:48:58 [INFO] Reactor Build Order:
11:48:58 [INFO] 
11:48:58 [INFO] v5-cloud                                                           [pom]
11:48:58 [INFO] v5-base                                                            [jar]
11:48:58 [INFO] v5-company-service                                                 [jar]
11:48:58 [INFO] 
11:48:58 [INFO] -------------------------< com.java:v5-cloud >--------------------------
11:48:58 [INFO] Building v5-cloud 0.0.1-SNAPSHOT                                   [1/3]
11:48:58 [INFO] --------------------------------[ pom ]---------------------------------
11:48:59 [INFO] 
11:48:59 [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ v5-cloud ---
11:48:59 [INFO] 
11:48:59 [INFO] --- spring-boot-maven-plugin:2.6.3:repackage (default) @ v5-cloud ---
11:49:00 [INFO] 
11:49:00 [INFO] --- maven-install-plugin:2.4:install (default-install) @ v5-cloud ---
11:49:00 [INFO] Installing D:\CodingProject\v5-cloud\pom.xml to D:\repository\com\java\v5-cloud\0.0.1-SNAPSHOT\v5-cloud-0.0.1-SNAPSHOT.pom
11:49:00 [INFO] 
11:49:00 [INFO] --------------------------< com.java:v5-base >--------------------------
11:49:00 [INFO] Building v5-base 0.0.1-SNAPSHOT                                    [2/3]
11:49:00 [INFO] --------------------------------[ jar ]---------------------------------
11:49:00 [INFO] 
11:49:00 [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ v5-base ---
11:49:00 [INFO] Deleting D:\CodingProject\v5-cloud\v5-base\target
11:49:00 [INFO] 
11:49:00 [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ v5-base ---
11:49:01 [INFO] Using 'UTF-8' encoding to copy filtered resources.
11:49:01 [INFO] Copying 0 resource
11:49:01 [INFO] 
11:49:01 [INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ v5-base ---
11:49:01 [INFO] Changes detected - recompiling the module!
11:49:01 [INFO] Compiling 17 source files to D:\CodingProject\v5-cloud\v5-base\target\classes
11:49:04 [INFO] /D:/CodingProject/v5-cloud/v5-base/src/main/java/com/java/utils/QRCodeUtil.java: D:\CodingProject\v5-cloud\v5-base\src\main\java\com\java\utils\QRCodeUtil.java使用了未经检查或不安全的操作。
11:49:04 [INFO] /D:/CodingProject/v5-cloud/v5-base/src/main/java/com/java/utils/QRCodeUtil.java: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
11:49:04 [INFO] 
11:49:04 [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ v5-base ---
11:49:04 [INFO] Not copying test resources
11:49:04 [INFO] 
11:49:04 [INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ v5-base ---
11:49:04 [INFO] Not compiling test sources
11:49:04 [INFO] 
11:49:04 [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ v5-base ---
11:49:04 [INFO] Tests are skipped.
11:49:04 [INFO] 
11:49:04 [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ v5-base ---
11:49:05 [INFO] Building jar: D:\CodingProject\v5-cloud\v5-base\target\v5-base-0.0.1-SNAPSHOT.jar
11:49:05 [INFO] 
11:49:05 [INFO] --- spring-boot-maven-plugin:2.6.3:repackage (default) @ v5-base ---
11:49:05 [INFO] Attaching repackaged archive D:\CodingProject\v5-cloud\v5-base\target\v5-base-0.0.1-SNAPSHOT-exec.jar with classifier exec
11:49:05 [INFO] 
11:49:05 [INFO] --- maven-install-plugin:2.4:install (default-install) @ v5-base ---
11:49:05 [INFO] Installing D:\CodingProject\v5-cloud\v5-base\target\v5-base-0.0.1-SNAPSHOT.jar to D:\repository\com\java\v5-base\0.0.1-SNAPSHOT\v5-base-0.0.1-SNAPSHOT.jar
11:49:05 [INFO] Installing D:\CodingProject\v5-cloud\v5-base\pom.xml to D:\repository\com\java\v5-base\0.0.1-SNAPSHOT\v5-base-0.0.1-SNAPSHOT.pom
11:49:05 [INFO] Installing D:\CodingProject\v5-cloud\v5-base\target\v5-base-0.0.1-SNAPSHOT-exec.jar to D:\repository\com\java\v5-base\0.0.1-SNAPSHOT\v5-base-0.0.1-SNAPSHOT-exec.jar
11:49:06 [INFO] 
11:49:06 [INFO] --------------------< com.java:v5-company-service >---------------------
11:49:06 [INFO] Building v5-company-service 0.0.1-SNAPSHOT                         [3/3]
11:49:06 [INFO] --------------------------------[ jar ]---------------------------------
11:49:06 [INFO] 
11:49:06 [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ v5-company-service ---
11:49:06 [INFO] Deleting D:\CodingProject\v5-cloud\v5-company-service\target
11:49:07 [INFO] 
11:49:07 [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ v5-company-service ---
11:49:07 [INFO] Using 'UTF-8' encoding to copy filtered resources.
11:49:07 [INFO] Copying 28 resources
11:49:07 [INFO] 
11:49:07 [INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ v5-company-service ---
11:49:07 [INFO] Changes detected - recompiling the module!
11:49:07 [INFO] Compiling 170 source files to D:\CodingProject\v5-cloud\v5-company-service\target\classes
11:49:15 [INFO] 
11:49:15 [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ v5-company-service ---
11:49:15 [INFO] Not copying test resources
11:49:15 [INFO] 
11:49:15 [INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ v5-company-service ---
11:49:15 [INFO] Not compiling test sources
11:49:15 [INFO] 
11:49:15 [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ v5-company-service ---
11:49:15 [INFO] Tests are skipped.
11:49:15 [INFO] 
11:49:15 [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ v5-company-service ---
11:49:15 [INFO] Building jar: D:\CodingProject\v5-cloud\v5-company-service\target\v5-company-service-0.0.1-SNAPSHOT.jar
11:49:15 [INFO] 
11:49:15 [INFO] --- spring-boot-maven-plugin:2.6.3:repackage (default) @ v5-company-service ---
11:49:15 [INFO] Replacing main artifact with repackaged archive
11:49:15 [INFO] 
11:49:15 [INFO] --- maven-install-plugin:2.4:install (default-install) @ v5-company-service ---
11:49:15 [INFO] Installing D:\CodingProject\v5-cloud\v5-company-service\target\v5-company-service-0.0.1-SNAPSHOT.jar to D:\repository\com\java\v5-company-service\0.0.1-SNAPSHOT\v5-company-service-0.0.1-SNAPSHOT.jar
11:49:15 [INFO] Installing D:\CodingProject\v5-cloud\v5-company-service\pom.xml to D:\repository\com\java\v5-company-service\0.0.1-SNAPSHOT\v5-company-service-0.0.1-SNAPSHOT.pom
11:49:17 [INFO] ------------------------------------------------------------------------
11:49:17 [INFO] Reactor Summary for v5-cloud 0.0.1-SNAPSHOT:
11:49:17 [INFO] 
11:49:17 [INFO] v5-cloud ........................................... SUCCESS [  1.627 s]
11:49:17 [INFO] v5-base ............................................ SUCCESS [  5.031 s]
11:49:17 [INFO] v5-company-service ................................. SUCCESS [  9.658 s]
11:49:17 [INFO] ------------------------------------------------------------------------
11:49:17 [INFO] BUILD SUCCESS
11:49:17 [INFO] ------------------------------------------------------------------------
11:49:17 [INFO] Total time:  18.951 s
11:49:17 [INFO] Finished at: 2022-11-21T11:49:17+08:00
11:49:17 [INFO] ------------------------------------------------------------------------
11:49:17 Waiting for Jenkins to finish collecting data
11:49:30 [JENKINS] Archiving D:\CodingProject\v5-cloud\pom.xml to com.java/v5-cloud/0.0.1-SNAPSHOT/v5-cloud-0.0.1-SNAPSHOT.pom
11:49:30 [JENKINS] Archiving D:\CodingProject\v5-cloud\v5-company-service\pom.xml to com.java/v5-company-service/0.0.1-SNAPSHOT/v5-company-service-0.0.1-SNAPSHOT.pom
11:49:30 [JENKINS] Archiving D:\CodingProject\v5-cloud\v5-company-service\target\v5-company-service-0.0.1-SNAPSHOT.jar to com.java/v5-company-service/0.0.1-SNAPSHOT/v5-company-service-0.0.1-SNAPSHOT.jar
11:49:31 [JENKINS] Archiving D:\CodingProject\v5-cloud\v5-base\pom.xml to com.java/v5-base/0.0.1-SNAPSHOT/v5-base-0.0.1-SNAPSHOT.pom
11:49:31 [JENKINS] Archiving D:\CodingProject\v5-cloud\v5-base\target\v5-base-0.0.1-SNAPSHOT.jar to com.java/v5-base/0.0.1-SNAPSHOT/v5-base-0.0.1-SNAPSHOT.jar
11:49:31 [JENKINS] Archiving D:\CodingProject\v5-cloud\v5-base\target\v5-base-0.0.1-SNAPSHOT-exec.jar to com.java/v5-base/0.0.1-SNAPSHOT/v5-base-0.0.1-SNAPSHOT-exec.jar
11:49:31 channel stopped
11:49:31 [workspace] $ cmd /c call C:\Users\ADMINI~1\AppData\Local\Temp\jenkins8965795402839122703.bat
11:49:31 
11:49:31 D:\jenkins\jobs\v5-company-service\workspace>copy D:\CodingProject\v5-cloud\v5-company-service\target\*.jar D:\jenkins\jobs\v5-company-service\workspace 
11:49:31 D:\CodingProject\v5-cloud\v5-company-service\target\v5-company-service-0.0.1-SNAPSHOT.jar
11:49:31 已复制         1 个文件。
11:49:31 
11:49:31 D:\jenkins\jobs\v5-company-service\workspace>exit 0 
11:49:31 SSH: Connecting from host [WIUTT6AD99JP027]
11:49:31 SSH: Connecting with configuration [V5 Server] ...
11:49:41 SSH: EXEC: completed after 202 ms
11:49:41 SSH: Disconnecting configuration [V5 Server] ...
11:49:41 SSH: Transferred 1 file(s)
11:49:47 Finished: SUCCESS

Git

Additional Behaviours
Advanced clone behaviours

克隆和拉取操作的超时时间(分钟)——默认是10分钟

配置输出html报告,自动化测试等

TestNG

问题

SSH UNSTABLE

jenkins构建UNSTABLE原因及解决
https://blog.csdn.net/hejingfang123/article/details/121320180

SSH: Disconnecting configuration [TestServer001] ...
ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [127]]
Build step 'Send files or execute commands over SSH' changed build result to UNSTABLE
Finished: UNSTABLE

[127]代表的意思是没有找到执行文件的目录,那么把执行文件配对了就能解决
SSH: Current build result is [NOT_BUILT], not going to run.
参考资料

使用Jenkins部署SpringBoot 使用密钥方式登录目标发布服务器
https://www.cnblogs.com/JpfBlog66/p/14237889.html

Jenkins部署安装
https://blog.csdn.net/m0_46370483/article/details/121508249

Jenkins docker
https://mp.weixin.qq.com/s/XCjntYGPb4Q0sVKN60PGGA

Jenkins 用户手册
https://www.jenkins.io/zh/doc/

Jenkins可用环境变量
https://www.cnblogs.com/Dengv5/p/16466784.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins 基本使用 的相关文章

随机推荐

  • 2023华为OD机试真题【保密大楼乘坐电梯】

    题目内容 有一座保密大楼 你从0楼到达指定楼层m 必须这样的规则乘坐电梯 给定一个数字序列 每次根据序列中的数字n上升n层或者下降n层 前后两次操作的方向必须相反 规定首次的方向向上 自行组织序列的顺序按规定操作到达指定楼层 求解到达楼层的
  • html5input输入框设置无边框_HTML 中的 box-border 盒子边框详解

    border 盒子边框 复合属性 设置对象边框的特性 盒子边框三要素 边框粗细 边框样式 边框颜色 语法 border border width border style border color 边框四边的粗细 样式 颜色 以及上下左右每
  • Mac更新之后使用终端提示:The default interactive shell is now zsh.

    1 美图 2 概述 升级完系统之后还遇到了另一个问题 就是在终端下查看的时候会在打开输入内容时有提示 默认的交互shell现在是zsh 要更新您的帐户以使用zsh 请运行 chsh s bin zsh 详情请访问https support
  • QT之滑动切换UI框架

    简介 使用QT制作一个UI图片切换框架 思路 主要通过移动像素坐标差值来判断方向 左上角坐标为 0 0 右加左减 松开减去按压时的横坐标大于0则右移 否则左移 代码展示 define X Threshold Direction 4 X方向移
  • 惠普m132nw清零方法_惠普HP打印机墨盒清零方法

    hp816 hp817是惠普多款打印机产品的标配墨盒 由于适应机型多 这两款墨盒是目前非常畅销的 对于很多用户来说 使用原装墨盒未必是最佳能选择 对使用完毕的墨盒进行加墨是很通常的选择 但注墨之后墨盒计数器的清零非常关键 在此 就为各位传授
  • GO语言实现二叉树基本功能

    用GO语言和用C语言写的思路没有区别 都是利用递归来解决遍历难的问题 这里值得注意的是 在GO中用switch case是完全可以代替if else的 个人觉得在做多项判断时用switch case来写不仅效率更高 思路也更清晰 也使得代码
  • 【目录】从0到1玩转分布式锁底层原理

    一 课程目录 分布式锁是什么 为什么需要分布式锁 如何用MySQL实现一把分布式锁 Redis实现分布式锁的核心原理以及利弊 分布式锁核心类库Redisson初识 Redisson加锁的核心底层源码 Redisson锁是如何做到可重入和互斥
  • 离散行业和流程行业的区别

    所谓离散型生产企业主要是指一大类机械加工企业 它们的基本生产特征是机器 机床 对工件外形的加工 再将不同的工件组装成具有某种功能的产品 由于机器和工件都是分立的 故称之为离散型生产方式 离散行业是指制造企业中的一类企业 他们的最主要特征为
  • 八、C语言进阶:内存

    8 内存 8 1 内存四区 8 1 1 栈区 stack 由编译器自动分配和释放 主要是存放函数参数的值 局部变量的值 8 1 2 堆区 heap 由程序员自己申请分配和释放 需要malloc calloc realloc 函数来申请 用f
  • 【pygame】Rect对象

    Rect对象 class pygame Rect Rect 是用于存储矩形坐标的 Pygame 对象 Rect left top width height gt Rect Rect left top width height gt Rect
  • linux查看服务器内存占用情况

    查看某个进程的占用内存情况 以 device maintenance 为例 1 查找进程号 ps ef grep device maintenance 或 ps aux grep device maintenance 2 查看服务器整体内存
  • opencv设置摄像头分辨率不生效

    opencv vs2019 videoCapture set分辨率1600 1200 设置为1600 1200 读取时变成了1280 960 在linux上是正常的 到了win10不知怎得就设置不了了 解决方法 cv VideoCaptur
  • Qt的CMake添加外部dll

    设置外部库路径 set OPENCV LIB DIR D Windows Kits opencv build x64 vc16 lib set OPENCV DLL DIR D Windows Kits opencv build x64 v
  • 主机宝服务器默认页修改,您访问的是主机宝服务器默认页

    您访问的是主机宝服务器默认页 内容精选 换一换 私网NAT网关创建后 通过添加DNAT规则 则可以通过映射方式将您VPC内的云主机实例对外部私网 IDC或其他VPC 提供服务 云主机的每个端口分别对应一条DNAT规则 一个云主机的多个端口或
  • Golf Range Finder 高尔夫激光测距仪和GPS测距仪

    打球时 如果知道准确的距离 就可以根据自己的情况选择合适的球杆 这对成绩的好坏很重要 职业高尔夫的球童除了背包 最重要的一项职能就是判断距离 帮助球员选择球杆 业余选手没有那么奢华 有专业的球童 这样就成就了测距仪市场 目前市场上的测距仪有
  • mysql use temporary_一次mysql 优化 (Using temporary ; Using filesort)

    遇到一个SQL执行很慢 SQL 如下 SELECT FROM tableA WHERE time gt 1492044535 and time lt 1492046335 GROUP by time sourceName serverSit
  • 机器学习 -- 决策树(Ⅴ决策树构造实例)

    决策树构造实例 有如下表格的数据 是近两周 14天 的打球情况 特征为天气表现 温度 适度 是否有风4种不同的环境 目标 构造决策树 问题 拿哪个特征作为根节点 有4种划分方式如下 判断依据 信息增益 1 求熵 在14天的数据中 有9天有打
  • 安装 kubeadm

    安装 kubeadm kubelet 和 kubectl 基于Red Hat的发行版本 1 写入软件源 cat lt
  • python中rfind的用法_在Python中实现rfind

    因此 在ch中 您有字符 而不是字符的索引 所以即使您找到它 也无法知道它的索引 您只知道该字符在您的text字符串中 无其他内容 而且 当你发现一个巧合时 你会打印 无 在print 中 而且由于return 1 如果没有找到 在for循
  • Jenkins 基本使用

    在jenkins的项目中上配置通过ssh发布jar包到远程服务器 克隆 编译 测试 打包 下载 jenkins war 下载地址 https blog csdn net m0 46370483 article details 1215082