Jenkins的文档翻译

官网Jenkins.io

Jenkins用户文档

欢迎来到Jenkins用户文档-为那些想要使用Jenkins的现有功能和插件特性的人。如果你想通过开发自己的Jenkins插件来扩展Jenkins的功能,请参考extend Jenkins(开发者文档)。

詹金斯是什么?

Jenkins是一个独立的、开源的自动化服务器,可用于自动化与构建、测试、交付或部署软件相关的各种任务。Jenkins可以通过本机系统包、Docker安装,甚至可以在安装了Java运行环境(JRE)的任何机器上独立运行。

关于本文档本文档以导览开始,

帮助您启动并运行Jenkins,并向您介绍Jenkins的主要功能,管道。还有一些教程面向那些想要使用Pipeline和Blue Ocean在Jenkins中编排和自动化构建项目的开发人员。如果你以前从未使用过Jenkins或对Jenkins的经验有限,那么导览和介绍性教程是开始的好地方。如果您正在寻找有关使用Jenkins的更多详细信息,请参阅用户手册。

文档的范围

Jenkins是一个高度可扩展的产品,其功能可以通过安装插件来扩展。Jenkins有大量可用的插件。但是,本文档的导览、教程、解决方案页面和用户手册中涵盖的文档是基于安装了蓝海插件的Jenkins安装,以及在安装后安装向导中指定的“建议插件”。Activate

用户手册概述本页提供了Jenkins用户手册文档的概述。

如果你想启动并运行Jenkins,请参见安装Jenkins,了解如何在你所支持的平台上安装Jenkins。如果你是一个典型的Jenkins用户(任何技能水平),想要了解更多关于Jenkins的使用,请参阅Using Jenkins。也可以参考单独的管道和蓝海章节了解更多关于Jenkins核心特性的信息。如果你是一个Jenkins管理员,想了解更多关于管理Jenkins节点和实例的知识,请参阅管理Jenkins。如果你是一个系统管理员,想学习如何备份,恢复,维护Jenkins服务器和节点,请参阅Jenkins系统管理。

安装詹金斯本章中的程序是针对Jenkins的新安装的。

章的小节Jenkins通常在自己的进程中作为独立应用程序运行。Jenkins WAR文件捆绑了Winstone,一个Jetty servlet容器包装器,并且可以在Jenkins支持的Java版本的任何操作系统或平台上启动。码头工人Kubernetes的理论上,Jenkins也可以在传统的servlet容器(如Apache Tomcat或WildFly)中作为servlet运行,但在实践中,这在很大程度上是未经测试的,并且有许多警告。特别是,对WebSocket代理的支持只针对Jetty servlet容器实现。详细信息请参见Servlet容器支持策略页面。Linux macOS Windows其他系统WAR文件其他Servlet容器离线安装初始设置

码头工人Docker是一个平台,

用于在称为“容器”(或Docker容器)的隔离环境中运行应用程序。像Jenkins这样的应用程序可以作为只读“镜像”(或Docker镜像)下载,每个镜像都作为容器在Docker中运行。Docker容器是Docker镜像的“运行实例”。Docker镜像是根据镜像更新的发布时间永久存储的,而容器是临时存储的。在Docker文档中的入门,第1部分:定向和设置中了解更多关于这些概念的信息由于Docker的基础平台和容器设计,给定应用程序(如Jenkins)的Docker镜像可以在任何支持的操作系统或运行Docker的云服务上运行。支持的操作系统包括macOS、Linux和Windows,支持的云服务包括AWS和Azure。

安装码头工人

要在操作系统上安装Docker,请按照guide Tour先决条件中的说明进行操作。或者,访问Docker Hub,选择适合您的操作系统或云服务的Docker Community Edition。按照其网站上的安装说明进行操作。如果您在基于linux的操作系统上安装Docker,请确保您配置了Docker,以便可以以非root用户管理它。在Docker文档的Linux安装后步骤页面中了解更多信息。本页还包含了关于如何配置Docker启动的信息。

先决条件

最低硬件要求:256mb RAM1gb的驱动器空间(虽然如果将Jenkins作为Docker容器运行,建议最小10gb)小型团队的推荐硬件配置:4gb以上的RAM50gb +的驱动器空间全面硬件建议:软件要求:硬件:请参见硬件建议页面Java:请参见Java Requirements页面Web浏览器:请参见“Web浏览器兼容性”页面Windows操作系统:Windows Support Policy Linux操作系统:Linux Support Policy对于servlet容器:servlet容器支持策略

在Docker中下载并运行Jenkins

有几个Jenkins的Docker图像可用。使用Docker Hub存储库中推荐的官方jenkins/jenkins镜像。此图像包含Jenkins的当前长期支持(LTS)版本,该版本已准备好用于生产。然而,这个镜像不包含Docker CLI,也没有与常用的蓝海插件及其功能捆绑在一起。要使用Jenkins和Docker的全部功能,您可能需要完成下面描述的安装过程。我每次jenkins Docker的新版本发布时,都会发布一个新的jenkins/jenkins镜像。您可以在标签页面上看到jenkins/jenkins图像的先前发布版本的列表。

在macOS和Linux上

1. 打开终端窗口。

2. 使用Docker network Create命令在Docker中创建网桥网络:

docker network create jenkins

3. 为了在Jenkins节点中执行Docker命令,请使用以下Docker run命令下载并运行Docker:dind Docker镜像:

docker run \
  --name jenkins-docker \
  --rm \
  --detach \
  --privileged \
  --network jenkins \
  --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume jenkins-docker-certs:/certs/client \
  --volume jenkins-data:/var/jenkins_home \
  --publish 2376:2376 \
  docker:dind \
  --storage-driver overlay2

BASHCopied!

(可选)指定用于运行镜像的Docker容器名称。

默认情况下,Docker为容器生成一个唯一的名称。

(可选)关闭Docker容器(Docker镜像的实例)时会自动移除。

3(可选)在后台运行Docker容器。

你可以通过命令docker stop jenkins-docker来停止这个实例。

在Docker中运行Docker目前需要特权访问才能正常工作。

对于较新的Linux内核版本,这一要求可能会放宽。这与前面步骤中创建的网络相对应。

使Docker容器中的Docker作为主机名在jenkins网络中可用。启用在Docker服务器中使用TLS。

由于使用了特权容器,所以建议这样做,尽管它需要使用下面描述的共享卷。

该环境变量控制管理Docker TLS证书的根目录。

将容器内的/certs/client目录映射到一个名为jenkins-docker-certs的Docker卷。

将容器内的/var/jenkins_home目录映射到名为jenkins-data的Docker卷。

这允许由该Docker容器的Docker守护进程控制的其他Docker容器从Jenkins挂载数据。(可选)公开主机的Docker守护进程端口。

这对于在主机上执行docker命令来控制这个内部docker守护进程非常有用。

11docker:dind映像本身。

在运行之前下载这个镜像,使用命令:docker image pull码头工人:叮。Docker卷的存储驱动程序。请参考Docker存储驱动程序文档了解支持的选项。如果您在复制和粘贴上述命令片段时遇到问题,请使用下面的无注释版本:

docker run --name jenkins-docker --rm --detach \
  --privileged --network jenkins --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume jenkins-docker-certs:/certs/client \
  --volume jenkins-data:/var/jenkins_home \
  --publish 2376:2376 \
  docker:dind --storage-driver overlay2

4. 通过执行以下两个步骤,定制官方Jenkins Docker镜像:a.创建内容如下的Dockerfile。

FROM jenkins/jenkins:2.426.2-jdk17
USER root
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
  https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
  signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
  https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"

b.从这个Dockerfile中创建一个新的docker镜像,并给这个镜像指定一个有意义的名字,比如“myjenkinsblueocean:2.426.2-1”。

docker build -t myjenkins-blueocean:2.426.2-1 .

如果你还没有下载官方的Jenkins Docker镜像,上面的过程会自动为你下载。

5. 在Docker中使用以下Docker Run命令将myjenkins-blueocean:2.426.2-1镜像作为容器运行:

docker run \
  --name jenkins-blueocean \
  --restart=on-failure \
  --detach \
  --network jenkins \
  --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client \
  --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 \
  --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  myjenkins-blueocean:2.426.2-1 

1(可选)Docker镜像实例对应的Docker容器名称。

2如果容器停止,一定要重新启动它。如果是手动停止,则只有当Docker守护进程重启或容器本身手动重启时才会重启。

3(可选)在后台运行当前容器,称为“detached”模式,并输出容器ID。如果不指定此选项,则在终端窗口中显示该容器的运行Docker日志。

4将此容器连接到先前定义的jenkins网络。Docker守护进程现在可以通过主机名Docker对这个Jenkins容器使用。

5指定docker、docker-compose和其他docker工具在上一步连接到docker守护进程时使用的环境变量将当前容器的8080端口映射或发布到主机上的8080端口。

6第一个数字表示主机上的端口,而最后一个数字表示容器的端口。例如,要通过端口49000访问主机上的Jenkins,请为该选项输入-p 49ee:sese。

7(可选)将当前容器的50000端口映射到主机的50000端口。只有当您在其他机器上设置了一个或多个入站Jenkins代理时才需要这样做,这些代理反过来与您的Jenkins blueocean容器(称为Jenkins“控制器”)交互。缺省情况下,入站Jenkins代理通过TCP端口50000与Jenkins控制器通信。您可以通过Security页面更改Jenkins控制器上的端口号。例如,如果您将Jenkins控制器的入站Jenkins代理的TCP端口更新为51000,则需要通过docker runcommand重新运行Jenkins。指定“publish”选项如下:第一个值是Jenkins控制器所在机器上的端口号,最后一个值匹配Jenkins控制器上更改的值,例如——publish 52000:5108e。入站Jenkins代理与该端口上的Jenkins控制器通信(本例中为52000)。注意,WebSocket代理不需要这个配置。

8将容器中的/var/jenkins_home目录映射到名为jenkins-data的Docker卷。除了将/var/jenkins_home目录映射到Docker卷之外,还可以将该目录映射到机器本地文件系统上的一个目录。例如,指定选项——vol SHoME/jenkins:/var/jenkins_hone将容器的/var/jenkins主目录映射到本地机器上SHoME目录下的jenkins子目录-通常是/users/<your-username>/ jenkins或/home/<your-username>/jenkins。注意:如果您为此更改了源卷或目录,则需要更新上述docker:dind容器中的卷以匹配它。

9将/certs/ clent目录映射到前面创建的jenkins-docker-certs卷。连接Docker守护进程所需的客户端TLS证书现在可以在DocKER_cERT_PATH环境变量指定的路径中获得。

10在上一步中创建的Docker镜像的名称。The IP

如果您在复制和粘贴命令片段时遇到问题,请使用下面的无注释版本:

docker run --name jenkins-blueocean --restart=on-failure --detach \
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  myjenkins-blueocean:2.426.2-1

6. 进入安装后设置向导。

在Windows上

Jenkins项目提供了一个Linux容器镜像,而不是Windows容器镜像。确保您的Docker for Windows安装配置为运行Linux容器而不是Windows容器。有关切换到Linux容器的说明,请参阅Docker文档。一旦配置为运行Linux容器,步骤如下:1. 打开命令提示符窗口,类似于上面的macOS和Linux指令,执行以下操作:2. 在Docker中创建一个桥接网络

docker network create jenkins

3. 运行docker:dind docker image

docker run --name jenkins-docker --rm --detach ^
  --privileged --network jenkins --network-alias docker ^
  --env DOCKER_TLS_CERTDIR=/certs ^
  --volume jenkins-docker-certs:/certs/client ^
  --volume jenkins-data:/var/jenkins_home ^
  --publish 2376:2376 ^
  docker:dind

4. 通过执行以下两个步骤,定制官方Jenkins Docker镜像:a.创建内容如下的Dockerfile。

FROM jenkins/jenkins:2.426.2-jdk17
USER root
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
  https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
  signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
  https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"

b.从这个Dockerfile中创建一个新的docker镜像,并给这个镜像指定一个有意义的名字,例如:“myjenkinsblueocean: 2.426.2-1”:

docker build -t myjenkins-blueocean:2.426.2-1 .

如果你还没有下载官方的Jenkins Docker镜像,上面的过程会自动为你下载。

5. 在Docker中运行你自己的nyjenkins-blueocean: 2.426.2-1镜像作为容器,使用以下Docker Run命令:

docker run --name jenkins-blueocean --restart=on-failure --detach ^
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 ^
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 ^
  --volume jenkins-data:/var/jenkins_home ^
  --volume jenkins-docker-certs:/certs/client:ro ^
  --publish 8080:8080 --publish 50000:50000 myjenkins-blueocean:2.426.2-1

6. 继续安装向导。

访问Docker容器

如果你想通过终端/命令提示符使用Docker exec命令访问你的Docker容器,在Docker exec命令中添加一个选项,比如——name jenkins-tutorial。这将访问名为“Jenkins -tutorial”的Jenkins Docker容器。你可以使用docker exec命令访问你的docker容器(通过一个单独的终端/命令提示窗口),例如:码头经理-詹金斯-蓝海舞会

访问Docker日志

您可能想要访问Jenkins控制台日志,例如,当解锁Jenkins作为安装后设置向导的一部分时。通过执行docker run -l命令的终端/命令提示窗口访问Jenkins控制台日志。或者,你也可以使用以下命令通过容器的Docker日志访问Jenkins控制台日志:Docker日志< Docker -container-name><docker-container-name>可通过docker ps命令获取。

访问Jenkins主目录

例如,您可以访问Jenkins主目录,以检查工作区子目录中Jenkins构建的详细信息。如果您将Jenkins主目录(/var/Jenkins_home)映射到您机器的本地文件系统,例如,在上面的docker run命令中,通过您机器通常的终端/命令提示符访问目录内容。如果你在docker run -命令中指定了——volume Jenkins-data:/var/jenkins_hone选项,那么通过容器的终端/命令提示符,使用docker container exec命令访问Jenkins主目录的内容:Docker容器执行-it < Docker -container-name> bash根据上一节,使用docker container is命令获取<docker-container- name >。如果你在docker容器中指定了——l name Jenkins -blueocean选项,运行上面的命令(如果需要,请参考访问Jenkins/Blue Ocean docker容器),使用docker container exec命令:Docker容器执行器- jenkins-blueocean bash

安装后安装向导

在下载、安装并使用上述程序之一运行Jenkins之后(使用Jenkins Operator安装除外),安装后设置向导开始这个设置向导带你通过几个快速的“一次性”步骤来解锁Jenkins,用插件自定义它,并创建第一个管理员用户,通过这个用户你可以继续访问Jenkins。

解锁詹金斯

当您第一次访问一个新的Jenkins实例时,系统会要求您使用自动生成的密码解锁它。1. 浏览到http://localhost:sese(或安装时为Jenkins配置的任何端口),等待直到解锁Jenkins页面出现。

有道确实很快,牛逼的很

2. 从Jenkins控制台日志输出中,复制自动生成的字母数字密码(在两组星号之间)

注意:命令:sudo cat /var/lib/jenkins/secrets/initialAdminPassword将在控制台中打印密码。如果你在Docker中使用官方Jenkins / Jenkins镜像运行Jenkins,你可以使用sudo Docker exec${CONTAINER_ID或CONTAINER_NAME) cat /var/ jenkins_home /secrets/initialAdminPassword在控制台上打印密码,而无需执行到容器中。3. 在解锁Jenkins页面上,将此密码粘贴到Administrator密码字段中,然后单击Continue。注意:Jenkins控制台日志指出了该密码也可以获得的位置(在Jenkins主目录中)。这个密码必须在新的Jenkins安装向导中输入,然后才能访问Jenkins的主ui。如果您在安装向导中跳过后续的用户创建步骤,这个密码还可以作为默认管理员帐户的密码(用户名为“admin”)。

定制Jenkins插件

解锁Jenkins后,进入自定义Jenkins页面。在这里,您可以安装任意数量的有用插件作为初始设置的一部分。单击显示的两个选项之一:安装建议的插件——安装推荐的插件集,这是基于最常见的用例。选择要安装的插件—选择最初安装哪一组插件。当您第一次访问插件选择页面时,默认情况下会选择建议的插件。如果您不确定需要什么插件,请选择“安装建议的插件”。您可以安装(或删除)额外的Jenkins插件在稍后的时间点通过管理Jenkins >插件页面在Jenkins。安装向导显示了正在配置的Jenkins的进度和正在安装的Jenkins插件的选择集。这个过程可能需要几分钟。

搞不动了,自己官网看去吧

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

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

相关文章

程序员的23大IONIO面试问题及答案

文章目录 1. 什么是IO流&#xff1f;2.java中有几种类型的流&#xff1f;3.字节流和字符流哪个好&#xff1f;怎么选择&#xff1f;4.读取数据量大的文件时&#xff0c;速度会很慢&#xff0c;如何选择流&#xff1f;5. IO模型有几种&#xff1f;6.阻塞IO &#xff08;blocking…

QT基础介绍

QT介绍 QT 是跨平台的c开发库&#xff0c;主要用来开发图形用户界面&#xff08;Graphical User Interface&#xff0c;GUI&#xff09;程序&#xff0c;当然也可以开发不带界面的命令行&#xff08;command user interface&#xff0c;CUI&#xff09;程序。 Qt中文官网&…

Linux磁盘空间不足扩展

先在虚拟机Vmware上扩展磁盘空间 后将fdisk 进行分区之后&#xff0c;在/dev/中找不到新分区文件 3.创建物理卷pv时发现找不到/dev/sda3分区&#xff0c;通过ls查看确认在/dev/中没有找到新分区文件 4.解决方法 执行&#xff1a;partprobe 再查看/dev中是否可以看到新分区文件…

python爬虫小案例:获取B*站视频数据

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 第三方模块: requests >>> pip install requests 如何安装python第三方模块: win R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车 在pycharm中点击Terminal(终端) 输入安装…

XM平台官网开户注册流程图解

注册前准备 在进行XM外汇官网注册之前&#xff0c;首先需要准备必要的信息&#xff0c;包括个人身份信息、联系方式以及相关财务信息。确保这些信息的准确性是保证注册流程顺利进行的关键。 一、要访问XM外汇官方网站&#xff0c;首先打开您的浏览器。在浏览器的地址栏中输入…

fill-in-the-middle(FIM) 实现与简单应用

1 背景 传统训练的 GPT 模型只能根据前文内容预测后文内容&#xff0c;但有些应用比如代码生成器&#xff0c;需要我们给出上文和下文&#xff0c;使模型可以预测中间的内容&#xff0c;传统训练的 GPT 就不能完成这类任务。 传统训练的 GPT 只能根据上文预测下文 使用 FIM…

Pytest小技巧:高效获取自动化测试结果

自动化测试用例在执行完成后&#xff0c;我们想要很清楚的查看到测试用例的执行结果&#xff0c;我们可以通过Pytest中的Hooks来进行获取吗&#xff1f; 其中Pytest中存在多个Hooks的函数&#xff0c;小编今天先简单介绍其中一种&#xff0c;通过pytest_runtest_makereport 获…

多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测

多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测 目录 多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | MATLAB实现…

unity2d 关闭全局重力

UNITY2D项目默认存在Y轴方向重力&#xff0c;创建俯视角2D场景时可通过以下配置关闭 Edit > Project Settings > Physics 2D > General Settings > Gravity 设置Y0

vue3引入高德地图报错Uncaught Error: Invalid Object: LngLat(NaN, NaN

问题&#xff1a; 原因&#xff1a;容器高度未设置 解决&#xff1a; 地图容器添加高度。 <style scoped> #map {width: 100%;height: 800px; } </style>

本地配置Java支付宝沙箱环境模拟支付并内网穿透远程调试

文章目录 前言1. 下载当面付demo2. 修改配置文件3. 打包成web服务4. 局域网测试5. 内网穿透6. 测试公网访问7. 配置二级子域名8. 测试使用固定二级子域名访问 前言 在沙箱环境调试支付SDK的时候&#xff0c;往往沙箱环境部署在本地&#xff0c;局限性大&#xff0c;在沙箱环境…

MySQL是如何保证数据不丢失的?

文章目录 前言Buffer Pool 和 DML 的关系DML操作流程加载数据页更新记录 数据持久化方案合适的时机刷盘双写机制日志先行机制日志刷盘机制Redo Log 恢复数据 总结 前言 上篇文章《InnoDB在SQL查询中的关键功能和优化策略》对InnoDB的查询操作和优化事项进行了说明。但是&#…

如何实现免费无限流量云同步笔记软件Obsidian?

目录 前言 如何实现免费无限流量云同步笔记软件Obsidian&#xff1f; 一、简介 软件特色演示&#xff1a; 二、使用免费群晖虚拟机搭建群晖Synology Drive服务&#xff0c;实现局域网同步 1 安装并设置Synology Drive套件 2 局域网内同步文件测试 三、内网穿透群晖Synol…

嵌入式系统复习--ARM指令集(一)

文章目录 上一篇ARM指令集概述ARM寻址方式下一篇 上一篇 嵌入式系统复习–ARM技术概述 ARM指令集概述 ARM指令集是32位的&#xff0c;程序的启动都是从ARM指令集开始。 指令编码 第一操作数 第二操作数 目的操作数 条件影响标志位 不同功能实现的二进制位 指令编码 第…

模型实战(17)之C++ - tensorRT部署yolov8seg实例分割

模型实战(17)之C++ - tensorRT部署yolov8seg实例分割 yolov8是2023年以来最新的集检测、分割、分类、关键点于一身的模型参考官网文档:添加链接描述本文将详细给出C++ - tensorRT部署yolov8seg模型的详细步骤实现效果的话,精度和python环境下差不多,仅推理时间在RTX30~系列…

怎么选,都得是python!

什么编程语言最好&#xff1f; python!python!python! 天下语言千千万&#xff0c;不行咱就换&#xff01; 但是&#xff0c;兜兜转转&#xff0c;到头来发现还得是你——python 最香! 有一说一&#xff0c;为了早日实现财富自由&#xff0c;开篇建议&#xff1a;专业人士还…

IspSrver-DNS

2023年全国网络系统管理赛项真题 模块B-Windows解析 题目 安装DNS服务器,根据题目创建必要正向区域和反向区域的DNS解析。把当前机器作为互联网根域服务器,创建test1.com~test100.com,并在所有正向区域中创建一条A记录,解析到本机地址。配置步骤 安装DNS服务器,根据题目创…

【Linux】Linux线程概念和线程控制

文章目录 一、Linux线程概念1.什么是线程2.线程的优缺点3.线程异常4.线程用途5.Linux进程VS线程 二、线程控制1.线程创建2.线程终止3.线程等待4.线程分离 一、Linux线程概念 1.什么是线程 线程是进程内的一个执行流。 我们知道&#xff0c;一个进程会有对应的PCB&#xff0c;…

大连海事大学博士学位论文在知网论文提交过程中遇到“去掉辅助和文摘中的多余信息“的解决方案

1. 问题描述 遇到的问题长这样。 辅助指的是中文摘要&#xff1b;文摘指的是英文摘要。 问题说明&#xff0c;每次保存完&#xff0c;都会出现两个多余的空行&#xff1b;你删除了&#xff0c;保存再打开&#xff0c;又出现了两个空行。 2 问题原因 2.1 粘贴摘要操作 如果…

Qt中多线程使用案列

Qt中多线程下载大文件 #pragma once#include <QWidget> #include <QPushButton> #include "ThreadPool.h" #include <QProgressBar> #include <QLabel> #include <QHBoxLayout> #include <QVBoxLayout> class MainWindow : pub…