当前位置: 首页 > article >正文

腾讯云 CVM + Docker + Jenkins + GitLab CI/CD 全流程指南(python、flask实现简单计算器)

腾讯云 CVM Docker Jenkins GitLab CI/CD 全流程指南适用场景个人学习 / 体验 CI/CD 流程总耗时约 2~3 小时含 CVM 创建等待时间预算腾讯云 CVM 按量计费约 0.4~0.5 元/小时文章目录腾讯云 CVM Docker Jenkins GitLab CI/CD 全流程指南1. 架构概览2. 第一步创建腾讯云 CVM 实例2.1 登录腾讯云控制台2.2 推荐配置2.3 安全组配置3. 第二步连接 CVM 并安装 Docker3.1 SSH 登录3.2 安装 Docker官方脚本最快最稳4. 第三步Docker 部署 Jenkins4.1 创建 Jenkins 数据目录4.2 启动 Jenkins 容器4.3 确认 Jenkins 正在运行5. 第四步Jenkins 初始化配置5.1 访问 Jenkins Web UI5.2 获取初始管理员密码5.3 安装推荐插件5.4 创建管理员账户5.5 实例配置6. 第五步GitLab.cn 创建项目并推送代码6.1 注册/登录 GitLab.cn6.2 创建新项目6.3 获取项目地址6.4 生成 GitLab Personal Access Token6.5 从本地推送 Demo 项目6.6 验证7. 第六步Jenkins 配置 GitLab 集成7.1 安装必要插件7.2 添加 GitLab 凭据7.3 配置 GitLab 服务器连接8. 第七步创建 Jenkins Pipeline 任务8.1 新建 Pipeline 任务8.2 配置 PipelineGeneral 部分Build Triggers 部分8.3 Pipeline 定义9. 第八步触发 CI/CD 并验证9.1 方式一手动触发先试这个9.2 方式二Git Push 自动触发配置 Webhook9.3 验证自动触发10. 附Python Demo 项目文件清单快速本地验证在 WSL 中视频演示常见问题排查Q1: Jenkins 页面打不开Q2: Jenkins Pipeline 报 docker: command not foundQ3: git push 到 GitLab.cn 失败Q4: Webhook 不生效清理资源重要源码下载1. 架构概览┌──────────────┐ push code ┌──────────────┐ │ GitLab │ ──────────────────▶│ Jenkins │ │ (代码仓库) │ webhook 触发 │ (CI/CD 引擎) │ └──────────────┘ └──────┬───────┘ │ Docker 执行 │ ┌────────────┴────────────┐ │ ① Build (docker build) │ │ ② Test (pytest) │ │ ③ Deploy (echo) │ └─────────────────────────┘ │ ┌──────▼──────┐ │ 腾讯云 CVM │ │ (Ubuntu) │ └─────────────┘核心组件组件用途部署方式腾讯云 CVM运行 Jenkins 的服务器云控制台创建Docker容器运行时运行 Jenkins 和构建任务apt 安装JenkinsCI/CD 编排引擎Docker 容器GitLab源代码托管SaaS 平台Python Demo被构建和测试的项目Flask 应用2. 第一步创建腾讯云 CVM 实例2.1 登录腾讯云控制台打开 https://console.cloud.tencent.com/cvm 点击「新建」。2.2 推荐配置配置项推荐值说明计费模式按量计费体验用用完即删省钱地域任意如广州/上海跟着推荐走机型任意标准型 /2核4G以上Jenkins Docker 最低需求镜像Ubuntu 22.04 LTS稳定Docker 支持好系统盘高性能云硬盘 50GB默认即可网络子网选择要正确比如南京三区子网选择对应带宽按流量计费体验够用2.3 安全组配置关键步骤需要放行以下端口端口协议来源用途22TCP你的 IP建议SSH 连接8080TCP0.0.0.0/0Jenkins Web UI50000TCP0.0.0.0/0Jenkins Agent 通信嫌麻烦的直接安全组配置0.0.0.0/0 ALL⚠️ 安全提醒体验结束后建议将 8080 和 50000 的来源改回你的 IP 或直接删除安全组规则。3. 第二步连接 CVM 并安装 Docker3.1 SSH 登录# 从你的本地机器执行替换 YOUR_IP 和 YOUR_KEY.pemsshubuntu公网IP3.2 安装 Docker官方脚本最快最稳Ubuntu / Debiansudoaptupdatesudoaptinstall-yca-certificatescurlgnupg添加 Docker 官方 GPG keysudoinstall-m0755-d/etc/apt/keyringscurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudogpg--dearmor-o/etc/apt/keyrings/docker.gpgsudochmodar /etc/apt/keyrings/docker.gpg添加源./etc/os-releaseecho\deb [arch$(dpkg --print-architecture)signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \${VERSION_CODENAME}stable|\sudotee/etc/apt/sources.list.d/docker.list/dev/null安装 Dockersudoaptupdatesudoaptinstall-ydocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin启动并设置开机自启sudosystemctlenable--nowdocker验证sudodockerrun hello-world# 如果失败先编辑下面的仓库如果不想每次都写sudosudo usermod -aG docker $USER然后执行newgrp docker查看docker ps仓库配置编辑/etc/docker/daemon.json{registry-mirrors:[https://docker.m.daocloud.io,https://xxx.mirror.aliyuncs.com,https://hub-mirror.c.163.com,https://mirror.baidubce.com,https://mirror.ccs.tencentyun.com],log-driver:json-file,log-opts:{max-size:10m,max-file:3}}# 重启服务sudosystemctl daemon-reloadsudosystemctl restartdocker# 阿里云的镜像自行获取4. 第三步Docker 部署 Jenkins4.1 创建 Jenkins 数据目录# Jenkins 数据持久化到宿主机容器删了数据还在mkdir-p~/jenkins_homesudochown1000:1000 ~/jenkins_home# Jenkins 容器内用 uid10004.2 启动 Jenkins 容器dockerrun-d\--namejenkins\--restartunless-stopped\-p8080:8080\-p50000:50000\-v~/jenkins_home:/var/jenkins_home\-v/var/run/docker.sock:/var/run/docker.sock\jenkins/jenkins:lts参数说明-d后台运行--restart unless-stopped开机自启-p 8080:8080Jenkins Web UI 端口-p 50000:50000Jenkins Agent 通信端口-v ~/jenkins_home:...数据持久化-v /var/run/docker.sock:...关键让 Jenkins 容器内可以调用宿主机的 DockerDocker-in-Docker 简化版4.3 确认 Jenkins 正在运行dockerps|grepjenkins# 应该看到 jenkins 容器状态为 Up5. 第四步Jenkins 初始化配置5.1 访问 Jenkins Web UI浏览器打开http://YOUR_CVM_IP:8080如果打不开检查安全组是否放行了 8080 端口5.2 获取初始管理员密码回到 SSH 终端执行dockerexecjenkinscat/var/jenkins_home/secrets/initialAdminPassword将输出的密码粘贴到 Web 页面的输入框中。5.3 安装推荐插件选择「Install suggested plugins」等待插件安装完成约 3~5 分钟。这一步会自动安装 Git、Pipeline、Docker 等核心插件。5.4 创建管理员账户按提示创建用户名admin密码自己设一个记住邮箱你的邮箱5.5 实例配置Jenkins URL 保持默认http://YOUR_IP:8080点击 Save and Finish。6. 第五步GitLab.cn 创建项目并推送代码6.1 注册/登录 GitLab.cn打开 https://gitlab.cn 注册或登录你的账号。6.2 创建新项目点击「New project」→「Create blank project」填写Project namecalculator-apiVisibility Level选Private或Public看你喜好点击「Create project」6.3 获取项目地址项目创建后页面顶部会显示 Git 地址例如https://gitlab.cn/your-username/calculator-api.git6.4 生成 GitLab Personal Access Token点击右上角头像 →「Preferences」左侧菜单「Access Tokens」填写Token namejenkins-ciExpiration date随便选个远的如 2027-01-01Scopes勾选read_repository和write_repository点击「Create personal access token」立即复制 Token页面刷新后就看不到了6.5 从本地推送 Demo 项目回到你的本地开发机或 WSL 终端项目文件已在/home/yl/ci-demo-project/目录中。cd/home/yl/ci-demo-project# 初始化 Gitgitinitgitadd.gitcommit-mfeat: init calculator API project# 关联远程仓库替换为你的地址gitremoteaddorigin https://gitlab.cn/YOUR_USERNAME/calculator-api.git# 推送到 GitLab会提示输入用户名和 Access Tokengitpush-uorigin main用户名填你的 GitLab 用户名密码填刚才生成的 Personal Access Token6.6 验证刷新 GitLab.cn 项目页面应该能看到所有文件app.py, Jenkinsfile, Dockerfile 等。7. 第六步Jenkins 配置 GitLab 集成7.1 安装必要插件回到 Jenkins Web UI →「Manage Jenkins」→「Plugins」→「Available plugins」搜索并安装GitLab PluginDocker Pipeline安装后重启 Jenkins或勾选「重启后安装」。7.2 添加 GitLab 凭据「Manage Jenkins」→「Credentials」→「System」→「Global credentials」点击「Add Credentials」填写KindGitLab API tokenAPI token粘贴 6.4 步生成的 Personal Access TokenIDgitlab-token自定义标识DescriptionGitLab API Token for calculator-api点击「Create」7.3 配置 GitLab 服务器连接「Manage Jenkins」→「Configure System」找到「GitLab」部分点击「Add」→「GitLab Servers」填写Server namejihulabURLhttps://jihulab.comCredentials选择刚才创建的gitlab-token点击「Test Connection」→ 应该显示「Success」保存8. 第七步创建 Jenkins Pipeline 任务8.1 新建 Pipeline 任务Jenkins 首页点击「New Item」输入名称calculator-api-pipeline选择「Pipeline」点击 OK8.2 配置 Pipeline在任务配置页面General 部分勾选「GitLab Connection」选择gitlab.cn勾选「This project is parameterized」(可跳过)Build Triggers 部分勾选「Build when a change is pushed to GitLab」勾选以下事件✅ Push Events✅ Merge Request Events点击「Advanced」在「Secret token」处点击「Generate」生成一个 Token复制这个 Secret token 值后面配置 webhook 要用然后点击页面底部的「Save」8.3 Pipeline 定义在「Pipeline」部分选择「Pipeline script from SCM」SCMGitRepository URLhttps://jihulab.com/ylqb1124/calculator-api.gitCredentialsUsername with passwordBranches to build*/mainScript PathJenkinsfile点击「Save」项目里已经有一个写好的JenkinsfilePipeline 会自动读取它。9. 第八步触发 CI/CD 并验证9.1 方式一手动触发先试这个在 Jenkins 任务页面点击「Build Now」观察构建过程。点击构建编号如 #1→「Console Output」你应该看到[Pipeline]stage(Build)Building Docker image...dockerbuild-tcalculator-api.[Pipeline]stage(Test)Running testsincontainer...dockerrun--rmcalculator-api pytest test_app.py-vtest_health PASSED test_add PASSED...8passed[Pipeline]stage(Deploy)Deploying calculator-api...[Pipeline]End of Pipeline Finished: SUCCESS注意这里很有可能会Failure这是因为容器内没有docker环境可以下载一个最小的二进制Docker环境dockerexec-uroot jenkinssh-c curl -fsSLo /tmp/docker.tgz https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/docker-27.5.1.tgz \ tar xzf /tmp/docker.tgz -C /usr/local/bin --strip-components1 随后给权限dockerexec-uroot jenkinssh-c # 把 docker.sock 的组改成 docker宿主机映射过来的可能需要这一步 chmod 666 /var/run/docker.sock 9.2 方式二Git Push 自动触发配置 Webhook回到 GitLab.cn 项目页面「Settings」→「Webhooks」填写URLhttp://YOUR_CVM_IP:8080/project/calculator-api-pipeline⚠️ 注意GitLab.cn 的 Webhook URL 必须是公网可访问的。如果你的 CVM 没有固定公网 IPwebhook 可能不生效但手动触发完全不受影响。Secret token粘贴 8.2 步生成的 Secret tokenTrigger勾选「Push events」取消勾选「Enable SSL verification」新手建议取消点击「Add webhook」点击「Test」→ 选择「Push events」如果返回 HTTP 200 即成功9.3 验证自动触发# 在你的本地项目里随便改点东西echo# test triggerREADME.mdgitaddREADME.mdgitcommit-mtest: trigger CI pipelinegitpush origin main回到 Jenkins应该看到一个自动触发的构建任务开始运行。10. 附Python Demo 项目文件清单项目目录/home/yl/ci-demo-project/ci-demo-project/ ├── app.py # Flask 计算器 API/add /subtract /multiply /divide /health ├── test_app.py # pytest 测试用例8 个测试覆盖正常/异常场景 ├── requirements.txt # Python 依赖Flask, pytest ├── Dockerfile # 多阶段构建镜像 ├── docker-compose.yml # 一键启动 ├── Jenkinsfile # CI/CD Pipeline 定义Build → Test → Deploy ├── .dockerignore # Docker 构建忽略文件 ├── README.md # 项目说明 └── CI-CD-Guide.md # 本文档快速本地验证在 WSL 中cd/home/yl/ci-demo-project# 安装依赖pipinstall-rrequirements.txt# 运行测试python3-mpytest test_app.py-v# 启动服务python3 app.py# 然后访问 http://localhost:5000/health# 测试计算: http://localhost:5000/add?a3b4所有 8 个测试已验证通过 ✅视频演示jenkins、CI/CD效果演示常见问题排查Q1: Jenkins 页面打不开检查 CVM 安全组是否放行 8080 端口检查 Jenkins 容器是否运行docker ps | grep jenkins检查 CVM 防火墙sudo ufw statusQ2: Jenkins Pipeline 报docker: command not foundJenkins 容器内部没有 Docker。确认启动时有没有挂载 docker.sock# 检查挂载dockerinspect jenkins|grepdocker.sock# 如果没有重新创建容器数据在 ~/jenkins_home 中不会丢dockerrm-fjenkinsdockerrun-d\--namejenkins\--restartunless-stopped\-p8080:8080-p50000:50000\-v~/jenkins_home:/var/jenkins_home\-v/var/run/docker.sock:/var/run/docker.sock\jenkins/jenkins:ltsQ3:git push到 GitLab.cn 失败确认使用的是 Personal Access Token 而不是密码确认 Token 权限包含write_repositoryQ4: Webhook 不生效GitLab.cn 到 CVM 公网 IP 可能不通国内网络环境建议先用手动触发验证如果公网 IP 是动态的Webhook 不可靠手动触发一样体验流程清理资源重要体验完成后及时释放资源避免持续扣费# 1. 在腾讯云控制台销毁 CVM 实例或关机# 2. 删除不再需要的安全组规则# 3. 如果使用了弹性公网 IP记得释放按量计费 IP 闲置也扣费源码下载gitlab仓库地址

相关文章:

腾讯云 CVM + Docker + Jenkins + GitLab CI/CD 全流程指南(python、flask实现简单计算器)

腾讯云 CVM Docker Jenkins GitLab CI/CD 全流程指南 适用场景:个人学习 / 体验 CI/CD 流程 总耗时:约 2~3 小时(含 CVM 创建等待时间) 预算:腾讯云 CVM 按量计费约 0.4~0.5 元/小时 文章目录 腾讯云 CVM Docker …...

告别手工台账!用SAP标准功能+BSED/BSIX表追踪应收票据状态与流向

告别手工台账:用SAP标准功能实现应收票据全生命周期追踪 财务部门最头疼的莫过于那些流转中的应收票据——它们像会"隐身"一样,稍不留神就消失在繁杂的流程里。传统的手工台账不仅效率低下,还容易出错。其实SAP系统内建的BSED、BSI…...

别再死记硬背了!用这5个真实电路案例,轻松掌握SPICE语法核心

别再死记硬背了!用这5个真实电路案例,轻松掌握SPICE语法核心 电子工程师的日常就像在解一道道电路谜题,而SPICE仿真器就是我们手中的"电子显微镜"。但翻开大多数SPICE教程,满眼都是枯燥的语法规则列表,就像让…...

On-policy vs Off-policy:从Sarsa和Q-learning的实战对比,理解强化学习两大流派的核心差异

On-policy与Off-policy:从算法哲学到工程实践的深度解析 在强化学习的浩瀚海洋中,on-policy与off-policy方法犹如两座灯塔,指引着不同场景下的算法选择。这两种范式远不止是技术实现上的差异,更体现了对"学习本质"的两种…...

DCN、注意力机制与动态卷积:深入对比CV中的三大‘自适应’模块,谁才是你的菜?

DCN、注意力机制与动态卷积:CV三大自适应模块的深度对比与选型指南 在计算机视觉领域,模型架构的创新从未停止。近年来,三类具有自适应特性的模块——可变形卷积(DCN)、注意力机制和动态卷积,凭借其超越传统固定结构的表现力&…...

2026最新!亲测4款免费语音转文字神器,真香体验好用到哭,办公党必备提效工具!

做内容的要转访谈,做职场的要整理会议纪要,做学生的要转课堂录音,不同人对语音转文字工具的需求差挺多的,不是越贵越好,适合才是真香。我前后测了大半个月,整理出4款2026还能用的高性价比免费/平价工具&…...

3步免费实现VR视频转换:3D转2D播放终极指南

3步免费实现VR视频转换:3D转2D播放终极指南 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh_mirrors/vr/V…...

告别公网IP!用ZeroTier One在Ubuntu 22.04上5分钟组建你的私人虚拟局域网

告别公网IP!用ZeroTier One在Ubuntu 22.04上5分钟组建你的私人虚拟局域网 在远程办公和家庭实验室场景中,访问内网设备一直是个令人头疼的问题。传统方案要么需要复杂的端口转发,要么依赖不稳定的动态DNS服务。而ZeroTier One提供了一种优雅…...

TwitchNoSub:终极免费解锁Twitch订阅限制的完整指南

TwitchNoSub:终极免费解锁Twitch订阅限制的完整指南 【免费下载链接】TwitchNoSub An extension to watch sub only VOD on Twitch 项目地址: https://gitcode.com/gh_mirrors/tw/TwitchNoSub 还在为错过心爱主播的独家内容而烦恼吗?TwitchNoSub为…...

Gemini3.1Pro办公省万元攻略

到了 2026 年,AI 工具已经不是“要不要用”的问题,而是“怎么用得更划算”的问题。 对很多经常处理文档、表格、汇报材料、需求说明的人来说,最直观的感受就是:如果一个工具能稳定帮你节省时间,那它背后省下的其实不只…...

Silk v3解码器:轻松解决微信语音播放难题,一键转换通用音频格式

Silk v3解码器:轻松解决微信语音播放难题,一键转换通用音频格式 【免费下载链接】silk-v3-decoder [Skype Silk Codec SDK]Decode silk v3 audio files (like wechat amr, aud files, qq slk files) and convert to other format (like mp3). Batch conv…...

罗技鼠标宏:PUBG后坐力控制解决方案的完整指南

罗技鼠标宏:PUBG后坐力控制解决方案的完整指南 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 在《绝地求生》这款竞技游戏中&#x…...

APKMirror安卓应用:安全下载APK文件的终极免费解决方案

APKMirror安卓应用:安全下载APK文件的终极免费解决方案 【免费下载链接】APKMirror 项目地址: https://gitcode.com/gh_mirrors/ap/APKMirror 还在为安卓应用下载的安全性而烦恼吗?担心第三方应用市场中的捆绑广告和恶意代码?APKMirr…...

告别手动做表!Gemini3.1Pro重塑办公效率

如果你现在还在一行一行整理表格、一个函数一个函数地试、一个图表一个图表地改,那你大概率已经感受到了一种很明显的压力:办公效率正在被重新定义。过去,做表是很多岗位绕不开的基本功。会 Excel、会公式、会透视表,几乎等于会办…...

观察通过Taotoken调用不同模型时的token消耗与成本明细

观察通过Taotoken调用不同模型时的token消耗与成本明细 1. 理解Taotoken的用量统计维度 Taotoken平台为每个API Key提供了细粒度的用量统计功能。在控制台的「用量分析」页面,用户可以按时间范围、模型类型、项目标签等维度查看token消耗情况。系统会分别统计输入…...

闲鱼数据采集:基于UI自动化的逆向工程实践

闲鱼数据采集:基于UI自动化的逆向工程实践 【免费下载链接】xianyu_spider 闲鱼APP数据爬虫(废弃项目) 项目地址: https://gitcode.com/gh_mirrors/xia/xianyu_spider 在电商数据日益成为商业决策核心资产的今天,二手交易平…...

手把手教你用pyinstxtractor和uncompyle6找回丢失的Python源码(附Python 3.8及以下版本完整流程)

从PyInstaller打包文件中抢救Python源码的实战指南 那天下午,当系统崩溃后你发现Git仓库损坏、本地备份失效,唯一剩下的只有那个三个月前用PyInstaller打包的exe文件时,那种窒息感我深有体会。作为处理过数十起类似案例的技术顾问&#xff0c…...

Python 爬虫数据处理:重复数据多级哈希去重实战

前言 在大规模网络爬虫的持续采集过程中,重复数据生成属于高频且无法完全规避的核心问题。目标站点内容缓存刷新、分页接口数据重叠、多采集节点同步抓取、历史数据增量抓取逻辑缺失、动态页面内容同质化等多重因素,会批量产出高度重复、完全一致、局部…...

Win10/Win11下CUDA 10.2、cuDNN和PyTorch的保姆级避坑安装指南(2024实测)

Win10/Win11深度学习环境配置全攻略:CUDA 10.2 cuDNN PyTorch避坑指南 在深度学习领域,环境配置往往是新手面临的第一个挑战。许多满怀热情的初学者在安装CUDA、cuDNN和PyTorch的过程中屡屡碰壁,最终消磨了学习热情。本文将从一个真实的用…...

教育机构利用Taotoken为学生实验提供稳定可控的AI算力

教育机构利用Taotoken为学生实验提供安全可控的AI算力 1. 教育场景中的AI实验需求 高校计算机科学、人工智能相关专业的课程设计越来越重视大模型应用实践。传统教学环境中,学生自行申请各类模型API面临几个现实问题:不同厂商的接入方式各异导致学习成…...

ARM调试寄存器OSLSR与OSSRR深度解析

1. ARM调试寄存器体系概述在嵌入式系统开发领域,调试寄存器是连接开发者与处理器内部状态的桥梁。ARM架构提供了一套完整的调试寄存器组,其中OS Lock Status Register (OSLSR)和OS Save/Restore Register (OSSRR)是调试子系统的关键组件。这些寄存器位于…...

2025届最火的六大降重复率网站推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 通过如下方面来着手降低AIGC(人工智能生成内容)的检测率:…...

2026届毕业生推荐的十大降AI率神器推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术写作跟内容创作里,文本重复率过高属于常见问题,专业的降重网站…...

2026届必备的六大降重复率平台实测分析

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于人工智能生成内容愈发常见的此刻,诸多诸多平台以及机构已然布置了AI内容检测机…...

掌握现代 C++:Lambda 在 C++14、C++17 和 C++20 中的演变

一、背景Lambda 是现代 C 最受欢迎的功能之一。自从在 C 11 中引入以来,它们在 C 代码中无处不在。而且,自从它们在 C11 中出现以来,它们已经发展并获得了重要的功能。其中一些功能有助于编写更具表现力的代码,并且由于现在使用 l…...

如何绕过B站官方限制,用专业软件获取第三方推流码进行直播?

如何绕过B站官方限制,用专业软件获取第三方推流码进行直播? 【免费下载链接】bilibili_live_stream_code 用于在准备直播时获取第三方推流码,以便可以绕开哔哩哔哩直播姬,直接在如OBS等软件中进行直播,软件同时提供定义…...

从零开始掌握lxml.html解析:手把手教你用html.fromstring打造高效爬虫

目录 写在前面:为什么我放弃了BeautifulSoup 一、lxml.html是什么?它凭什么这么快 二、环境搭建:5分钟搞定所有依赖 2.1 安装lxml 2.2 验证安装 2.3 配套工具推荐 三、html.fromstring()核心用法全解 3.1 最基本的用法 3.2 从文件读取HTML 3.3 从URL直接获取 3.4…...

具身智能(34):ROS2工具集合

一、构建与编译工具(开发基础) 作为 ROS2 项目的起点,负责依赖管理、代码编译与规范校验,替代 ROS1 的 catkin 工具链。 1. Colcon(核心构建工具) 定位:ROS2 官方推荐的统一构建入口,兼容多语言与大型项目。 核心特点: 支持多工作空间嵌套(Overlay/Underlay 机制)…...

如何用OpenDroneMap快速将无人机照片转为精准3D模型?新手完全指南

如何用OpenDroneMap快速将无人机照片转为精准3D模型?新手完全指南 【免费下载链接】ODM A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷 项目地址: https://gitcode.com/gh_mirr…...

AppleRa1n:解锁iOS设备激活锁的实用指南

AppleRa1n:解锁iOS设备激活锁的实用指南 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 你是否曾经遇到过这样的情况:从二手市场购买的iPhone无法激活,或者忘记了旧…...