CI/CD和Jenkins流水线 (十九) 提交代码至 Git → Jenkins 触发构建 → CI 打包 → CD 远程发布 → 服务自动更新。CI 持续集成开发提交代码自动拉取、编译、打包、测试尽早暴露代码问题。本次拉 Git 代码 Maven 打包。CD 持续部署构建产物自动下发至服务器、重启服务完成上线。本次推送 Jar、启停 SpringBoot。两种构建模式自由风格配置写在 Jenkins 页面新手练习用Pipeline代码化 Jenkinsfile 存入 Git企业正式环境使用。常用插件Git Plugin拉取代码必备Credentials Binding管理密钥凭证Maven IntegrationJava 项目打包Publish Over SSH远程发布部署Workspace Cleanup自动清理工作目录Email Extension构建邮件通知Pipeline流水线核心插件DingTalk Notification钉钉告警Build Timeout防止构建卡死SonarQube Scanner代码质量检测传统自由风格 CI/CD实现三台主机全是 Ubuntu24.04101192.168.1.101放代码 GitLab102192.168.1.102Jenkins 构建工具网页配置103192.168.1.103运行 Java 项目流程写完代码上传 101GitLab → 自动通知 102Jenkins 拉代码打包 → 把 jar 发到 103 → 关掉旧项目、启动新项目 → 发消息告诉你部署成功 / 失败101、102、103 三台机器全都执行apt update apt upgrade -y apt install openssh-server git openjdk-8-jdk maven unzip zip -y systemctl enable --now ssh三台机器打通免密登录任意一台主机执行ssh-keygen # 一直回车 ssh-copy-id root192.168.1.101 ssh-copy-id root192.168.1.102 ssh-copy-id root192.168.1.103在 103 安装 MySQL8给 RuoYi 提供数据库apt install mysql-server -y systemctl enable --now mysql # 初始化mysql设置root密码为123456 mysql_secure_installation登录 MySQL 创建若依数据库create database ry_vue default character set utf8mb4;101 部署 GitLab上传 RuoYi-Vue 源码安装 GitLabapt install curl openssh-server ca-certificates postfix -y curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash apt install gitlab-ce -y sed -i s#external_url .*#external_url http://192.168.1.101# /etc/gitlab/gitlab.rb gitlab-ctl reconfigure上传若依代码浏览器打开 http://192.168.1.101设置 root 管理员密码新建私有仓库 ruoyi-vue本地拉取开源若依后端源码修改配置文件 application.ymlspring: datasource: url: jdbc:mysql://192.168.1.103:3306/ry_vue?useUnicodetruecharacterEncodingutf8 username: root password: 123456将修改完毕的后端代码 push 上传到 101 的 GitLab 仓库。102 部署 Jenkins传统自由风格核心安装 Jenkinscurl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | tee /usr/share/keyrings/jenkins-keyring.asc echo deb [signed-by/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | tee /etc/apt/sources.list.d/jenkins.list apt update apt install jenkins -y systemctl enable --now jenkins解锁初始化 Jenkinscat /var/lib/jenkins/secrets/initialAdminPassword浏览器访问http://192.168.1.102:8080粘贴密码解锁安装推荐插件。手动安装必须插件进入【系统管理 - 插件管理 - 可选插件】搜索安装这 5 个 Git Plugin、Maven Integration、Publish Over SSH、Workspace Cleanup、DingTalk NotificationJenkins 全局工具配置系统管理 → 全局工具配置 JDK新增 JDK8路径填写 /usr/lib/jvm/java-8-openjdk-amd64/ Maven选用系统自带 Maven直接保存。 系统管理 → 系统配置 → Publish over SSH 新增服务器配置 名称ry-server IP192.168.1.103 账号root 填写 103 的 root 密码点击测试连接出现 Success 代表连通成功保存。GitLab 配置 WebHook提交代码自动触发 Jenkins 构建进入 GitLab 的 ruoyi-vue 项目 → 设置 → 集成 URL 填写http://192.168.1.102:8080/project/ruoyi-deploy 保存触发器后续提交代码自动触发 Jenkins 打包。Jenkins 创建【自由风格项目】新建任务 → 名称ruoyi-deploy→ 选择【自由风格项目】确定。选中 Git填入 101 GitLab 仓库地址添加 GitLab 账号密码凭证拉取代码。 只勾选Git hook 触发构建定时构建、轮询 SCM 全部取消勾选。 新增构建步骤 → 调用顶层 Maven 目标输入打包指令 clean package -Dmaven.test.skiptrue -Pprod若依打包完成后ruoyi-admin/target 目录生成 ruoyi-admin.jar。新增步骤Send build artifacts over SSH SSH 服务器ry-server Source filesruoyi-admin/target/*.jar Remote directory/opt/ruoyi/ 远程在 103 执行部署脚本勾选 Exec command完整脚本直接复制# 创建目录 mkdir -p /opt/ruoyi cd /opt/ruoyi # 杀掉正在运行的旧若依进程 ps -ef | grep ruoyi-admin.jar | grep -v grep | awk {print $2} | xargs kill -9 sleep 1 # 后台启动若依后端 nohup java -jar ruoyi-admin.jar ruoyi.log 21 sleep 5 # 健康检测 curl http://127.0.0.1:8080/系统配置绑定钉钉机器人 WebHook构建成功推送部署成功消息构建失败推送报错告警。103 机器提前准备# 创建若依存放目录 mkdir -p /opt/ruoyi # 放行8080端口 ufw allow 8080完整运行流程本地修改 RuoYi 代码 push 提交到 101 GitLab GitLab WebHook 自动唤醒 102 Jenkins 任务 Jenkins 拉取若依源码 → Maven 打成生产环境 jar 包 通过 SSH 将 jar 分发至 103 的 /opt/ruoyi 103 执行脚本杀掉旧若依进程 → 启动新版本 jar → 自检服务 Jenkins 清空缓存目录钉钉发送部署结果通知你容器化 CI/CD开发提交代码 → GitLabwebhook 触发→ Jenkins 拉取代码 Clone → SonarQube 代码质量检测 → Maven 打包 Jar → Nexus 上传制品 → Dockerfile 构建镜像 → Harbor 推送镜像 → 业务服务器删除旧容器 docker rm → 启动新容器 docker run → 构建钉钉 / 邮件通知GitLab webhook 存放 RuoYi 源码代码 push 后自动调用 Jenkins无需手动点构建。 Clone 代码Jenkins Git Jenkins 拉取完整若依后端代码到工作空间。 SonarQube 代码质量测试 扫描代码漏洞、不规范写法质量不达标直接终止流程禁止打包部署。 mvn 编译打包 执行clean package -Dmaven.test.skiptrue -Pprod生成ruoyi-admin.jar。 Nexus 上传制品库 存储 Jar 包统一管理二进制程序包。 docker buildDockerfile 读取项目内 Dockerfile把 Jar 打包成 Docker 镜像。 docker push Harbor 将镜像推送私有镜像仓库 Harbor业务服务器统一拉取镜像。 docker rm 清理服务器上正在运行的旧版本若依容器。 docker run 基于 Harbor 最新镜像启动全新业务容器。 构建后通知 构建成功 / 失败推送钉钉消息告知运维部署结果。实现101GitLab SonarQube102Jenkins Nexus Docker构建镜像103业务服务器 Harbor镜像仓库主机规划三台 Ubuntu24.04192.168.1.101GitLab SonarQube代码仓库 代码质检192.168.1.102Jenkins Nexus Docker构建、打包、制作镜像192.168.1.103Harbor 镜像仓库 MySQL 运行若依容器三台机器全部执行安装基础依赖apt update apt upgrade -y apt install openssh-server git openjdk-8-jdk maven unzip zip ca-certificates curl -y systemctl enable --now ssh三台机器互通免密 SSHssh-keygen # 全程回车不要设置密钥密码 ssh-copy-id root192.168.1.101 ssh-copy-id root192.168.1.102 ssh-copy-id root192.168.1.103三台统一安装 Dockercurl -fsSL https://get.docker.com | bash systemctl enable --now docker usermod -aG docker root usermod -aG docker jenkins # 102必须执行这句让jenkins有权限操作docker newgrp docker101 服务器部署 GitLab SonarQube部署 GitLabapt install postfix -y curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash apt install gitlab-ce -y # 修改访问地址 sed -i s#external_url .*#external_url http://192.168.1.101# /etc/gitlab/gitlab.rb gitlab-ctl reconfigure浏览器打开 http://192.168.1.101设置 root 管理员密码。新建私有仓库 ruoyi-vue上传完整 RuoYi-Vue 后端源码。在项目根目录新建 Dockerfile内容如下FROM openjdk:8-jdk-alpine WORKDIR /app COPY ruoyi-admin/target/ruoyi-admin.jar app.jar EXPOSE 8080 ENTRYPOINT [java,-jar,app.jar,--spring.profiles.activeprod]修改若依配置文件 ruoyi-admin/src/main/resources/application-prod.ymlspring: datasource: url: jdbc:mysql://192.168.1.103:3306/ry_vue?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/Shanghai username: root password: 123456提交代码到 GitLab 仓库。部署 SonarQube代码质量检测useradd sonar mkdir -p /usr/local/sonar chown sonar:sonar /usr/local/sonar su - sonar wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.8.0.63668.zip unzip sonarqube-9.8.0.63668.zip -d /usr/local/sonar/ cd /usr/local/sonar/sonarqube-9.8.0.63668/bin/linux-x86-64 ./sonar.sh start访问http://192.168.1.101:9000默认账号 admin/admin登录后生成 sonar 令牌留存备用。102 服务器部署 Jenkins Nexus3安装 Jenkinscurl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | tee /usr/share/keyrings/jenkins-keyring.asc echo deb [signed-by/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | tee /etc/apt/sources.list.d/jenkins.list apt update apt install jenkins -y systemctl enable --now jenkins初始化 Jenkins查看初始密码cat /var/lib/jenkins/secrets/initialAdminPassword浏览器访问 http://192.168.1.102:8080粘贴密码解锁。 先安装推荐插件再手动安装 5 个必备插件 Git Plugin、Maven Integration、Publish Over SSH、SonarQube Scanner、Workspace Cleanup、DingTalk Notification、Docker PluginJenkins 全局配置系统管理 → 全局工具配置 JDK新增 JDK8路径填写 /usr/lib/jvm/java-8-openjdk-amd64/ Maven选用系统自带 Maven保存 Docker绑定本机 docker 路径 /usr/bin/docker 系统管理 → 系统 SonarQube servers新增服务地址填写 http://192.168.1.101:9000粘贴之前生成的 sonar 令牌。 Publish Over SSH新增服务器 名称node103 Host192.168.1.103 账号 root填写 103 的 root 密码点击测试连接出现 Success 即为成功。102 部署 Nexus3存放 jar 制品包mkdir -p /usr/local/nexus wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz tar -zxvf latest-unix.tar.gz -C /usr/local/nexus/ cd /usr/local/nexus/nexus-3.*-*/bin ./nexus start访问http://192.168.1.102:8081登录查看初始密码创建 maven 私有仓库。103 服务器部署 Harbor MySQL安装 MySQL8创建若依数据库apt install mysql-server -y systemctl enable --now mysql mysql -urootALTER USER rootlocalhost IDENTIFIED BY 123456; CREATE DATABASE ry_vue DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; GRANT ALL ON ry_vue.* TO root% IDENTIFIED BY 123456; FLUSH PRIVILEGES; exit放行端口ufw allow 3306部署 Harbor 私有镜像仓库安装 docker-composeapt install docker-compose -y下载 Harbor 离线包安装配置域名harbor.ry.com开启 http 访问。创建项目ruoyi记录 Harbor 地址192.168.1.103、账号密码。配置 Docker 信任私有仓库mkdir -p /etc/docker cat /etc/docker/daemon.json EOF { insecure-registries:[192.168.1.103] } EOF systemctl restart docker配置 GitLab WebHook代码提交自动触发 Jenkins进入 101 GitLab 的 ruoyi-vue 项目 → 设置 → 集成 URL 填入http://192.168.1.102:8080/project/ruoyi-deploy 保存实现代码 push 自动触发 Jenkins 构建。Jenkins 创建【自由风格项目】新建任务 → 名称ruoyi-deploy→ 选中【自由风格项目】→ 确定。选中 Git填写 GitLab 仓库地址添加 GitLab 账号密码凭证拉取代码。只勾选Git hook 触发构建定时构建、轮询 SCM 全部取消勾选。新增构建步骤 → Execute SonarQube Scanner直接保存配置Sonar 检测代码存在漏洞、BUG 会直接终止整个部署流程。新增构建步骤 → 调用顶层 Maven 目标填入打包命令clean package -Dmaven.test.skiptrue -Pprod deploydeploy会自动把打好的 ruoyi-admin.jar 上传到 102 的 Nexus 制品库构建 Docker 镜像并推送 Harbor新增构建步骤 → 执行 shell粘贴脚本# 定义镜像名称 TAGdate %Y%m%d%H%M%S IMAGE192.168.1.103/ruoyi/ruoyi-admin:${TAG} # 登录harbor docker login 192.168.1.103 -u admin -p Harbor密码 # 构建镜像读取项目内Dockerfile docker build -t ${IMAGE} . # 推送镜像到harbor docker push ${IMAGE} # 把镜像名称写入临时文件传给103服务器 echo ${IMAGE} /tmp/image_name.txt构建后传到 103 并部署容器新增步骤Send build artifacts over SSH 服务器选择node103Source files/tmp/image_name.txtRemote directory/opt/deploy/勾选 Exec command粘贴部署脚本cd /opt/deploy IMAGE$(cat image_name.txt) # 删除旧容器 docker rm docker rm -f ruoyi-admin # 拉取新镜像、启动容器 docker run docker run -d --name ruoyi-admin --restart always -p 8080:8080 ${IMAGE} sleep 3 # 健康检测 curl http://127.0.0.1:8080/钉钉通知系统配置绑定钉钉机器人 WebHook 地址构建成功推送绿色「若依部署成功」失败推送红色报错提醒。Jenkins K8s CI /CD开发提交代码→GitLab (webhook 触发)→Jenkins 拉代码→Sonar 代码质检→Maven 打包→Docker 构建镜像→推送 Harbor 私有仓库→替换 yaml 镜像 TAG→kubectl apply 更新 K8s 应用→钉钉通知结果环境4 台主机全 Ubuntu22.04192.168.1.101 GitLab SonarQube 代码仓库、代码质量检测 192.168.1.102 Jenkins Docker CI 构建、打包制作镜像 192.168.1.103 Harbor 私有镜像仓库存储镜像 192.168.1.104 K8s MasterMySQL 运行业务 Pod、数据库更新源、安装基础工具apt update apt install git openssh-server openjdk-8-jdk maven unzip curl -y systemctl enable --now ssh四台机器互相免密登录ssh-keygen # 全程回车不要设置密钥 ssh-copy-id root192.168.1.101 ssh-copy-id root192.168.1.102 ssh-copy-id root192.168.1.103 ssh-copy-id root192.168.1.104全部机器安装 Dockercurl -fsSL https://get.docker.com | sh systemctl enable --now docker usermod -aG docker root # 102节点额外执行让jenkins用户拥有docker权限 usermod -aG docker jenkins newgrp docker所有节点配置信任 Harbor 私有仓库mkdir -p /etc/docker cat /etc/docker/daemon.json EOF { insecure-registries:[192.168.1.103] } EOF systemctl restart docker101 节点部署 GitLab SonarQube部署 GitLabapt install postfix -y curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash apt install gitlab-ce -y # 修改访问地址 sed -i s#external_url .*#external_url http://192.168.1.101# /etc/gitlab/gitlab.rb gitlab-ctl reconfigure浏览器访问http://192.168.1.101初始化 root 管理员密码。新建私有项目ruoyi-vue上传若依全套后端源码。在项目根目录放入 2 个文件Dockerfile、ruoyi-deploy.yaml文末附完整内容提交到 git 仓库。进入项目【设置→集成】配置 WebHookURLhttp://192.168.1.102:8080/project/ruoyi-k8s触发事件仅勾选Push事件保存实现提交代码自动触发 Jenkins。部署 SonarQube 代码检测‘useradd sonar mkdir -p /opt/sonarqube chown sonar:sonar /opt/sonarqube su - sonar wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.8.0.63668.zip unzip sonarqube-9.8.0.63668.zip -d /opt/sonarqube/ cd /opt/sonarqube/sonarqube-9.8.0.63668/bin/linux-x86-64 ./sonar.sh start访问 http://192.168.1.101:9000默认账号admin/admin。 新建令牌右上角头像→我的账号→安全→生成令牌复制令牌字符串留存后续 Jenkins 配置使用。’102 节点部署 Jenkins安装 Jenkinscurl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | tee /usr/share/keyrings/jenkins-keyring.asc echo deb [signed-by/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | tee /etc/apt/sources.list.d/jenkins.list apt update apt install jenkins -y systemctl enable --now jenkins初始化 Jenkins查看初始解锁密码cat /var/lib/jenkins/secrets/initialAdminPassword 浏览器打开 http://192.168.1.102:8080粘贴密码解锁。 必备插件 Git Plugin、Maven Integration、SonarQube Scanner、Docker Plugin、Publish Over SSH、Workspace Cleanup、DingTalk NotificationJenkins 全局配置全局工具配置系统管理→全局工具配置 JDK新增 JDK8路径填写 /usr/lib/jvm/java-8-openjdk-amd64/ Maven选用本机已安装 Maven保存 DockerDocker 路径填写 /usr/bin/docker ② 系统配置系统管理→系统 SonarQube servers新增 Sonar 服务 名称sonar-server Server URLhttp://192.168.1.101:9000 Server authentication token粘贴 Sonar 生成的令牌保存。 Publish Over SSH新增 K8s 节点配置 Namek8s-master Hostname192.168.1.104 Usernameroot 填写 104 机器 root 密码点击【Test Configuration】显示 Success 即为连通成功。 钉钉配置填入钉钉机器人 Webhook 地址用于构建完成推送消息。103 节点部署 Harbor 镜像仓库apt install docker-compose -y # 下载Harbor离线安装包解压安装 wget https://github.com/goharbor/harbor/releases/download/v2.8.0/harbor-offline-installer-v2.8.0.tgz tar zxvf harbor-offline-installer-v2.8.0.tgz cd harbor cp harbor.yml.tmpl harbor.yml # 修改harbor.yml关闭https配置hostname: 192.168.1.103 sed -i s/https:/#https:/ harbor.yml sed -i s/port: 443/#port: 443/ harbor.yml sed -i s/hostname: reg.mydomain.com/hostname: 192.168.1.103/ harbor.yml ./install.sh访问 http://192.168.1.103默认账号admin/Harbor12345。 新建公开项目 ruoyi。104 节点搭建 K8s 单 Master 集群 MySQL搭建 k8s 集群kubeadm 方式部署单 master 集群安装完成后执行以下命令让 Jenkins 可以远程执行 kubectl# 把k8s认证文件拷贝到root目录 mkdir -p /root/.kube cp /etc/kubernetes/admin.conf /root/.kube/config chmod 644 /root/.kube/config # 测试kubectl是否正常 kubectl get nodes部署 MySQL8apt install mysql-server -y systemctl enable --now mysql mysql -uroot执行 SQL 初始化数据库ALTER USER rootlocalhost IDENTIFIED BY 123456; CREATE DATABASE ry_vue DEFAULT CHARACTER SET utf8mb4; GRANT ALL ON ry_vue.* TO root% IDENTIFIED BY 123456; FLUSH PRIVILEGES; exit;Jenkins 创建【自由风格项目】核心配置新建任务 → 名称ruoyi-k8s→ 选择自由风格软件项目→ 确定。源码管理 选择 Git填入 GitLab 仓库地址添加 GitLab 账号密码凭证拉取代码。 ② 构建触发器 只勾选 触发远程构建例如使用脚本其余定时构建、轮询 SCM 全部取消勾选。 ③ 构建步骤 1Sonar 代码质量扫描 新增构建步骤 → Execute SonarQube Scanner无需填写参数直接保存。 作用代码存在 BUG、漏洞、不规范写法Jenkins 直接终止构建不会发布上线。 ④ 构建步骤 2Maven 打包 新增构建步骤 → 调用顶层 Maven 目标输入打包命令 clean package -Dmaven.test.skiptrue -Pprod执行 Shell构建镜像→推送 Harbor→替换 yaml 镜像 TAG新增构建步骤 → 执行 shell完整脚本直接粘贴# 用时间戳作为镜像唯一TAG TAG$(date %Y%m%d%H%M%S) HARBOR_ADDR192.168.1.103/ruoyi IMAGE_FULL${HARBOR_ADDR}/ruoyi-admin:${TAG} # 登录Harbor镜像仓库 docker login ${HARBOR_ADDR} -u admin -p Harbor12345 # 根据项目内Dockerfile构建镜像 docker build -t ${IMAGE_FULL} . # 推送镜像到Harbor仓库 docker push ${IMAGE_FULL} # 修改k8s部署yaml里的镜像版本替换为新TAG sed -i s|image:.*ruoyi-admin:.*|image: ${IMAGE_FULL}|g ruoyi-deploy.yaml构建后操作 1远程下发 yaml 到 k8s 节点并更新应用新增构建后操作 →Send build artifacts over SSHSSH Server选择之前配置好的k8s-masterSource filesruoyi-deploy.yamlRemote directory/opt/k8s-deploy/勾选【Exec command】填入执行命令cd /opt/k8s-deploy # 执行更新k8s自动滚动更新pod kubectl apply -f ruoyi-deploy.yaml # 查看更新状态 kubectl rollout status deployment ruoyi-admin选择钉钉通知插件配置构建成功发送绿色消息「若依服务部署成功新版本 TAG:${TAG}」构建失败发送红色消息「部署失败请查看 Jenkins 日志排查」配套放入 Git 仓库的 2 个核心文件Dockerfile项目根目录FROM openjdk:8-jdk-alpine WORKDIR /app # 复制打包后的jar包 COPY ruoyi-admin/target/ruoyi-admin.jar app.jar EXPOSE 8080 # 启动命令使用生产配置 ENTRYPOINT [java,-jar,app.jar,--spring.profiles.activeprod]ruoyi-deploy.yamlK8s 部署清单apiVersion: apps/v1 kind: Deployment metadata: name: ruoyi-admin namespace: default spec: replicas: 2 selector: matchLabels: app: ruoyi-admin template: metadata: labels: app: ruoyi-admin spec: containers: - name: ruoyi image: 192.168.1.103/ruoyi/ruoyi-admin:inittag ports: - containerPort: 8080 resources: limits: cpu: 1000m memory: 1Gi requests: cpu: 500m memory: 512Mi --- apiVersion: v1 kind: Service metadata: name: ruoyi-svc spec: type: NodePort ports: - port: 8080 targetPort: 8080 nodePort: 30080 selector: app: ruoyi-admin总结开发提交代码 → GitLab 触发 WebHook → Jenkins 拉取代码 → Sonar 质检拦截坏代码 → Maven 打包 Jar → Docker 构建镜像 → 推送镜像到 Harbor 仓库 → sed 更新 yaml 镜像 TAG → SSH 传到 k8s 机器执行kubectl apply -f滚动更新 Pod → 钉钉推送部署结果。

相关新闻

最新新闻

5步掌握Claude Go SDK:构建企业级AI应用的最佳实践

5步掌握Claude Go SDK:构建企业级AI应用的最佳实践

5步掌握Claude Go SDK:构建企业级AI应用的最佳实践 【免费下载链接】anthropic-sdk-go Access to Anthropics safety-first language model APIs via Go 项目地址: https://gitcode.com/gh_mirrors/an/anthropic-sdk-go Anthropic Go SDK是访问Claude语言模型…

2026/8/11 22:51:49
试试这款NotebookLM国产平替:一键采集视频文案,导入知识库

试试这款NotebookLM国产平替:一键采集视频文案,导入知识库

先说个我自己遇到的尴尬事。 上个月有个朋友兴冲冲跟我说,他发现了一个谷歌神器叫做 NotebookLM,把一堆资料丢进去,AI 帮你总结、问答、甚至生成播客,听起来确实酷。结果他用了两天就回来吐槽,说国内打开费劲、网络慢、…

2026/8/11 22:51:49
具身智能三方合作冲刺百万小时数据目标:数据闭环的技术路径与工程实践

具身智能三方合作冲刺百万小时数据目标:数据闭环的技术路径与工程实践

具身智能三方合作冲刺百万小时数据目标:数据闭环的技术路径与工程实践近期有三家具身智能领域的代表性企业宣布达成战略合作,三方将围绕该具身操作模型和大规模数据训练平台,在2026年底前实现100万小时具身数据的采集与训练目标。这一合作构建…

2026/8/11 22:51:49
AI玩具机芯是什么?——让毛绒玩具「开口说话」的智能模块

AI玩具机芯是什么?——让毛绒玩具「开口说话」的智能模块

AI玩具机芯是什么?——让毛绒玩具「开口说话」的智能模块 当「AI 玩具」成为创投与展会的高频词,一个更工程化的问题被提出:所谓 AI 玩具,技术底盘到底是什么?答案往往落到一颗「AI 玩具机芯」上。本文从行业与技术视角…

2026/8/11 22:51:49
你的创意谁说了算?2026年,先搞懂版权登记这3件事

你的创意谁说了算?2026年,先搞懂版权登记这3件事

01|著作权是什么?是不是不登记就不算我的?简单说,著作权(也叫版权),就是你对自己写的、画的、拍的、编的任何原创作品,天然就拥有的一项“所有权”。它不像专利、商标那样必须去“申…

2026/8/11 22:51:49
IBController安全最佳实践:加密凭证与会话保护策略

IBController安全最佳实践:加密凭证与会话保护策略

IBController安全最佳实践:加密凭证与会话保护策略 【免费下载链接】ib-controller Automation of Interactive Brokers TWS. You can download the latest release here: https://github.com/ib-controller/ib-controller/releases/latest 项目地址: https://git…

2026/8/11 22:46:49