Jenkins的文档翻译

news2024/7/6 18:50:15

官网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插件的选择集。这个过程可能需要几分钟。

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

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

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

相关文章

STM32-ADC模数转换器

目录 一、ADC简介 二、逐次逼近型ADC内部结构 三、STM32内部ADC转换结构 四、ADC基本结构 五、输入通道 六、转换模式 6.1单次转换&#xff0c;非扫描模式 6.2连续转换&#xff0c;非扫描模式 6.3单次转换&#xff0c;扫描模式 6.4连续转换&#xff0c;扫描模式 七、…

网线的制作集线器交换机路由器的配置--含思维导图

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《产品经理如何画泳道图&流程图》 ⛺️ 越努力 &#xff0c;越幸运 一、网线的制作 1、网线的材料有哪些&#xff1f; 网线 网线是一种用于传输数据信号的电缆&#xff0c;广泛应…

【Linux系统编程】进程的认识

介绍&#xff1a; 进程是程序执行的实体&#xff0c;可将其理解为程序。比如&#xff1a;当我们使用文本编辑器Notepad应用程序来编写一篇文章时&#xff0c;此时&#xff0c;Notepad应用程序就被加载到了内存中&#xff0c;并且它占用的资源&#xff08;如内存、CPU等&#xf…

伦敦金交易内地与香港有何区别

伦敦金交易是国际银行间市场层面的现货黄黄金交易&#xff0c;亚洲市场的交易中心在中国香港&#xff0c;现在不管是香港本地还是内地的投资者&#xff0c;都可以在网上开户&#xff0c;通过香港的平台参与伦敦金交易&#xff0c;所得到的服务是同等的、公平的、与国际市场接轨…

在Windows上使用 Python

本文档旨在概述在 Microsoft Windows 上使用 Python 时应了解的特定于 Windows 的行为。 与大多数UNIX系统和服务不同&#xff0c;Windows系统没有预安装Python。多年来CPython 团队已经编译了每一个 发行版 的Windows安装程序&#xff08;MSI 包&#xff09;&#xff0c;已便…

Linux 音视频SDK开发实践

一、兼容性适配处理 为什么需要兼容处理&#xff1f; 1、c兼容处理 主要有ABI兼容性问题&#xff0c;不同ubuntu系统依赖的ABI版本如下&#xff1a; ubuntu 18.04ubuntu 16.04ubuntu 14.04g7.55.44.8stdc版本libstdc.so.6.0.25libstdc.so.6.0.21libstdc.so.6.0.19GLIBCXXG…

【SpringBoot快速入门】(4)SpringBoot项目案例代码示例

目录 1 创建工程3 配置文件4 静态资源 之前我们已经学习的Spring、SpringMVC、Mabatis、Maven&#xff0c;详细讲解了Spring、SpringMVC、Mabatis整合SSM的方案和案例&#xff0c;上一节我们学习了SpringBoot的开发步骤、工程构建方法以及工程的快速启动&#xff0c;从这一节开…

JavaCV音视频开发宝典:UDP局域网组播推流,多播推流,局域网多网段推流,使用UDP方式推送TS组播流,实现UDP一对多组播

《JavaCV音视频开发宝典》专栏目录导航 《JavaCV音视频开发宝典》专栏介绍和目录 ​ 前言 在之前文章中我们已经实现rtp点到点传输JavaCV音视频开发宝典:rtp点到点音视频传输(一对一音视频直播)和rtp广播JavaCV音视频开发宝典:rtp广播方式发送TS流音视频传输(一对多音视…

私域用户标签体系|超全指南

将用户进行精准画像&#xff0c;搭建用户标签体系&#xff0c;将自己的客户分层&#xff0c;逐个突破。

IEEE TASLP | 联合语音识别与口音识别的解耦交互多任务学习网络

尽管联合语音识别&#xff08;ASR&#xff09;和口音识别&#xff08;AR&#xff09;训练已被证明对处理多口音场景有效&#xff0c;但当前的多任务ASR-AR方法忽视了任务之间的粒度差异。细粒度单元&#xff08;如音素、声韵母&#xff09;可用于捕获与发音相关的口音特征&…

利用阿里通义千问和Semantic Kernel,10分钟搭建大模型知识助手!

前言 **通义千问&#xff1a;**是阿里推出的一个超大规模的语言模型&#xff0c;其中参数模型Qwen-72B已经宣布开源&#xff0c;同时还开源了18亿参数模型Qwen-1.8B和音频大模型Qwen-Audio&#xff0c;至此已经开源了18亿、70亿、140亿、720亿参数的4款大语言模型&#xff0c;…

【QT】QGraphicsView和QGraphicsItem坐标转换

坐标转换 QGraphicsItem和QGraphicsView之间的坐标转换需要通过QGraphicsScene进行转换 QGraphicsView::mapToScene() - 视图 -> 场景QGraphicsView::mapFromScene() - 场景 -> 视图QGraphicsItem::mapToScene() - 图元 -> 场景QGraphicsItem::mapFromScene() - 场景 …

【leetcode234】回文链表Java代码讲解

12.21 234. 回文链表 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,2,1] 输出&#xff1a;true示例 2&#xff1a; 输入&a…

【Java代码审计】URL跳转漏洞篇

【Java代码审计】URL跳转漏洞篇 1.URL跳转漏洞概述2.Java中的URL重定向3.URL跳转漏洞修复 1.URL跳转漏洞概述 通俗地说&#xff0c;目前很多的Web应用因为业务需要&#xff0c;需与内部的其他服务或者第三方的服务进行交互&#xff0c;这样就需要重定向的功能&#xff0c;由当…

上市十年 这家互联网服务平台窥见汽车市场“沧海桑田”

十年&#xff0c;对于一家上市公司而言意味着什么&#xff1f;以中概股为例&#xff0c;十年里的高低起伏&#xff0c;折射出不同公司和行业的各异命运。 新浪在2021年私有化退市&#xff0c;曾经名声在外的聚美优品在2020年遭遇同样命运。再往前数&#xff0c;还有离开美股回…

浅谈ASO优化如何应对市场竞争的挑战

随着应用市场的竞争越来越激烈&#xff0c;ASO优化也要为了应对各种来临的风险与机遇做出改变&#xff0c;提高自己的适应能力&#xff0c;下面小柚整理了一些思路供大家参考。 1. 深入了解目标用户需求&#xff1a;首先&#xff0c;需要深入了解目标用户的需求和痛点&#xf…

【LeetCode刷题笔记(11-1)】【Python】【和为 K 的子数组】【前缀和】【中等】

文章目录 引言和为 K 的子数组题目描述提示 解决方案1&#xff1a;【暴力枚举】解决方案2&#xff1a;【前缀和】结束语 和为 K 的子数组 引言 编写通过所有测试案例的代码并不简单&#xff0c;通常需要深思熟虑和理性分析。虽然这些代码能够通过所有的测试案例&#xff0c;但…

985等高校急速开设“鸿蒙班”,引领IT就业新时代

​根据澎湃新闻记者了解到&#xff0c;华为以及鸿蒙系软件厂商都在积极培养鸿蒙开发人才。其中产学联动、产教融合来培养鸿蒙生态人才是重要的一条路径&#xff0c;目前已有 23 家 985 高校、46 家 211 高校已开设或即将开设HarmonyOS 相关课程。 其中南京大学已经将 HarmonyOS…

一套rk3588 rtsp服务器推流的 github 方案及记录 -03(完结)

opencv 解码记录 解码库使用的时候发现瑞芯微以前做过解码库对ffmpeg和gstreamer的支持 然后最近实在不想再调试Rtsp浪费时间了&#xff0c;就从这中间找了一个比较快的方案 ffmpeg 带硬解码库编译 编译流程参考文献 https://blog.csdn.net/T__zxt/article/details/12342435…

【网络安全】—Shell编程入门(2)

文章目录 循环控制语句函数知识精讲数组知识精讲开发环境规范调试优化实践自动化实战项目 在前面的章节中&#xff0c;我们已经介绍了Shell编程的基础知识&#xff0c;包括变量、特殊变量、数值计算、条件测试、条件判断和基本的循环语句。接下来&#xff0c;我们将深入讲解更高…