优秀网站设计推荐绵阳个人网站建设

张小明 2026/1/2 16:16:48
优秀网站设计推荐,绵阳个人网站建设,为什么高德不能看国外地图,wordpress主机搬家一、通用优化项 1.缓存错误 问题#xff1a; 原配置缓存了 **/target/。这是构建产物#xff0c;不仅体积大导致上传/下载慢#xff0c;而且会导致 Maven 不重新编译代码#xff0c;可能引发脏构建。 缺失#xff1a; 没有缓存 Maven 依赖库 ( .m2/repository ) 。这意味着…一、通用优化项1.缓存错误问题原配置缓存了**/target/。这是构建产物不仅体积大导致上传/下载慢而且会导致 Maven 不重新编译代码可能引发脏构建。缺失没有缓存Maven依赖库 (.m2/repository)。这意味着每次流水线运行都要从互联网重新下载几百 MB 的 jar 包这是最耗时的步骤。cache: paths: - **/target/优化建议cache: paths: - .m2/repository/ # 缓存 Maven 依赖这是提速的关键 - .sonar/cache/ # 缓存 Sonar 插件2.任务冗余与 Artifacts优化2.1任务冗余问题build和sonarqube分成了两个阶段。应该将能整合的阶段合并避免不必要的传输build阶段打包后将巨大的target目录上传到 GitLab 服务器。sonarqube阶段再下载这个巨大的target目录启动一个新的容器重新配置环境。优化SonarQube 扫描本身就需要编译类。将构建Build和扫描Sonar合并为一个任务既省去了上传/下载产物的时间也省去了启动第二个 Docker 容器的时间。# 一条命令完成清理 - 编译 - 测试 - 扫描 # -Dmaven.test.failure.ignorefalse 确保单元测试失败会中断流水线 - mvn clean compile test sonar:sonar -Dsonar.projectKeytest -Dsonar.host.urlhttp://172.168.20.10:9000/ -Dsonar.logintest --no-snapshot-updates : *common_rules第一部分命令详解可忽略clean(清理)动作删除项目根目录下的target文件夹。目的确保本次构建是“全新”的防止上一次构建留下的旧.class文件干扰本次结果避免“脏构建”。compile(编译)动作把src/main/java下的源代码编译成.class字节码文件。目的Java 代码必须编译后才能运行SonarQube 也需要分析编译后的字节码来提高准确度。test(单元测试)动作编译并运行src/test/java下的单元测试用例。目的确保新写的代码没有把旧功能改坏。关键点运行测试会生成“覆盖率报告”jacoco.execSonarQube 需要读取这个报告来告诉你“代码覆盖率”是多少。sonar:sonar(扫描)动作启动 SonarScanner 插件。目的它会读取源代码、读取第2步生成的.class文件、读取第3步生成的测试报告进行静态代码分析找 Bug、漏洞、代码异味最后把结果打包上传给 SonarQube 服务器。第二部分配置参数-D 传参-Dsonar.projectKeytest含义项目唯一标识。解释在 SonarQube 网页端每个项目都有一个唯一的 ID。你需要把它改成你项目真实的 Key否则 SonarQube 会认为这是一个新项目或者找不到项目。-Dsonar.host.urlhttp://172.168.20.10:9000/含义服务器地址。解释告诉插件把扫描结果发送给哪台服务器。请确保流水线运行的容器能访问通这个内网 IP。-Dsonar.logintest含义身份认证 Token。解释这是登录 SonarQube 的“钥匙”。安全建议直接把 Token 写在代码里硬编码是不安全的。通常建议在 GitLab CI/CD 的设置里配置一个变量$SONAR_TOKEN然后这里写成-Dsonar.login$SONAR_TOKEN。--no-snapshot-updates含义不要检查快照更新。解释如果你的项目依赖了一些公司内部开发的 SNAPSHOT 版本 jar 包比如common-utils-1.0-SNAPSHOT。不加这个参数Maven 默认每天或者每次构建都会去私服 Nexus/Artifactory 询问“在这个 jar 包有没有新版本呀”这很浪费时间。加上这个参数告诉 Maven“别问了本地有啥就用啥除非我强制更新”。这能显著加快构建速度。2.2Artifacts存储优化问题保留整个target目录非常不建议这样做除非你有特殊需求未自动清理Artifacts产物导致存储膨胀占用大量硬盘空间。优化新增expire_in: 1 week参数构建频繁的可以配置1 dayartifacts: paths: - **/target/*.jar # 只保留 jar 包 # - **/target/*.war # 如果是 war 包项目 expire_in: 1 week # 建议稍微久一点方便一周内回滚3.克隆优化问题有些项目历史版本众多且文件较大导致拉取代码非常慢除了 SonarQube 需要完整的 git 历史外其他步骤不需要。优化定义全局变量默认浅克隆加快拉取速度workflow: rules: - if: $CI_PIPELINE_SOURCE merge_request_event # 定义全局变量和锚点 variables: # 默认浅克隆加快拉取速度Sonar 任务中会覆盖此设置 GIT_DEPTH: 1二、特殊优化项1.缓存策略优化缓存策略三种写法写法 A全局共享最推荐用于 Maven 依赖cache: key: maven-global-cache # 共享缓存池的名称 paths: - .m2/repository/优点速度最快。dev分支刚下载的包master分支立马能用。节省磁盘空间。缺点如果有两个流水线同时运行并试图写入缓存可能会冲突但在 Maven 下载依赖场景下通常不是大问题。写法 B按分支隔离最推荐用于 node_modules 或构建产物基于分支cache: key: $CI_COMMIT_REF_SLUG # 这是一个变量代表当前分支名如 master, dev paths: - node_modules/含义master分支有自己名为master的箱子。dev分支有自己名为dev的箱子。优点绝对安全分支之间互不干扰。缺点很慢。当你新建一个feature-login分支时因为它是全新的 key它没有任何缓存必须从头下载所有依赖。写法 C基于分支文件智能缓存cache: key: files: - pom.xml # 只有当 pom.xml 文件内容变了才生成新的 key paths: - .m2/repository/含义只要pom.xml没变大家就一直用同一个缓存。一旦你修改了依赖系统会自动生成一个新的干净缓存。总结与建议针对Java/Maven 项目1.推荐保持的配置写法 Akey: maven-sonar-cache理由Java 的 jar 包是跨分支通用的。spring-boot-starter-web在 dev 分支和 master 分支是一模一样的东西。没必要隔离大家共用一个库下载一次全员加速。2.特性功能如果你使用的是 写法 B基于分支GitLab 确实有一个高级特性叫fallback_keys可以实现“如果 feature 分支没缓存就去借用 master 的”。3.前端构建扫描优化核心区别对比差异点后端 (Java)前端 (Vue/React)基础镜像maven:3.6-jdk-11node:16 (或 14/18)构建工具mvn (Maven)npm 或 yarn依赖缓存.m2/repositorynode_modules编译命令mvn compilenpm run build产物形式.jar 包dist/ 文件夹 (HTML/CSS/JS)扫描工具Maven 的 Sonar 插件sonar-scanner (需要独立安装)部分示例# --- 前端核心任务 --- frontend-job: stage: build-and-scan #注意请根据你项目的实际 node 版本修改推荐 node:14 或 node:16 image: node:16 tags: - edfs - api - prod cache: key: frontend-node-modules # 全局共享缓存 paths: - node_modules/ # 缓存依赖包 (提速核心) - .npm/ # 缓存 npm 缓存数据 - .sonar/cache/ # 缓存 sonar 插件 script: - node -v - npm -v # 1. 设置淘宝/腾讯镜像源 (极大提升 npm install 速度) - npm config set registry https://registry.npmmirror.com # 2. 安装依赖 (如果缓存里有这一步会飞快) - npm install # 3. 编译打包 - npm run build # 4. 安装 Sonar 扫描器并执行扫描 # 前端不像 Maven 自带插件需要临时安装一个扫描器工具 - npm install -g sonarqube-scanner - sonar-scanner -Dsonar.projectKey前端项目的Key_注意修改 -Dsonar.host.urlhttp://172.16.100.90:9000/ -Dsonar.loginsqp_fda99b2a2149ed3665069ca5d739b5c9755c9930 -Dsonar.sourcessrc -Dsonar.exclusions**/node_modules/**,**/dist/** : *common_rules artifacts: paths: - dist/ # 前端通常保留 dist 目录用于部署 Nginx expire_in: 1 day前端扫描必须加这个参数-Dsonar.exclusions/node_modules/,/dist/如果不加SonarQube 会去扫描node_modules里成千上万个第三方库的文件导致扫描时间无限拉长可能跑 1 个小时。报告里出现几万个不属于你的 Bug。服务器卡死。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

企炬网站wordpress增加类

高效办公文档预览技术深度解析 【免费下载链接】QuickLook.Plugin.OfficeViewer Word, Excel, and PowerPoint plugin for QuickLook. 项目地址: https://gitcode.com/gh_mirrors/qu/QuickLook.Plugin.OfficeViewer 在现代办公环境中,文档预览已成为提升工作…

张小明 2025/12/29 22:51:10 网站建设

缩短链接网站浙江东阳市网站建设公司

Ollama别名简化Anything-LLM模型调用 在本地部署大语言模型时,一个看似不起眼的小问题却频繁拖慢开发节奏:每次切换模型都要面对一长串复杂的名称——llama3:8b-instruct-q5_1、qwen:7b-chat-q4_K_M……这些冗长的标识不仅容易拼错,还让配置文…

张小明 2025/12/29 22:50:35 网站建设

做网站的找哪个wordpress上传速度

设备驱动程序接口详解 1. 块设备驱动程序 SCSI磁盘驱动程序(sd)用于控制使用SCSI命令集的一系列磁盘,包括SCSI、SATA、USB大容量存储和通用闪存存储(UFS)。它的主设备号是8,每个接口(或磁盘)有16个次设备号范围。例如,次设备号0 - 15对应第一个接口,设备节点名为sd…

张小明 2025/12/29 22:50:00 网站建设

开发一个网站平台多少钱网站如何盈利流量费

用Usblyzer揭开USB通信的“黑盒”:从驱动监控到实战排错全解析你有没有遇到过这样的场景?一个精心设计的USB设备插上电脑,系统却提示“未知设备”,日志里只有一行模糊的错误代码;或者,明明固件逻辑没问题&a…

张小明 2025/12/29 22:49:23 网站建设

网站开发技术是什么青岛官网seo公司

在人工智能的浪潮中,计算机视觉(CV)技术正从实验室走向现实世界,成为机器理解环境的“眼睛”。它通过模拟人类视觉系统,赋予计算机从图像和视频中提取信息、识别对象并做出决策的能力,从而深刻改变着工业、…

张小明 2025/12/29 22:48:50 网站建设

农产品网络营销的概念搜索引擎排名优化建议

多模态智能体如何重塑人机交互:UI-TARS-1.5的三大技术突破与应用前景 【免费下载链接】UI-TARS-1.5-7B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/UI-TARS-1.5-7B 随着人工智能技术从单一模态向多模态融合演进,智能体系统正迎…

张小明 2025/12/29 22:48:16 网站建设