跳到主要内容

7.4 部署上线:让世界看到它

代码写好了,设计也打磨了。现在到了最激动人心的一步——把它放到互联网上,让所有人能用。

第一步:推送到 GitHub

在部署之前,先把代码保存到 GitHub。

1.1 创建 GitHub 仓库

  1. 打开 github.com,登录
  2. 点击右上角 "+" → "New repository"
  3. 仓库名填 daily-focus
  4. 选 Public(如果你想让别人看到你的代码)
  5. 不要勾选 "Add a README"(我们已经有了)
  6. 点击 "Create repository"

1.2 初始化 Git 并推送

在项目目录运行:

git init
git add .
git commit -m "feat: AI 每日聚焦助手 MVP 完成"
git branch -M main
git remote add origin https://github.com/你的用户名/daily-focus.git
git push -u origin main

重要:确保 .env.local 没有被提交! 检查 .gitignore 文件是否包含 .env.local。Next.js 默认会帮你加,但最好确认一下。泄露 API Key 会导致你的账户被别人盗用。

如果 .env.local 不小心被提交了:

# 从 git 历史中删除
git rm --cached .env.local
git commit -m "remove env file"
git push

然后立刻去 OpenAI 和 Supabase 后台重新生成 Key。

第二步:连接 Vercel 部署

Vercel 是 Next.js 的母公司,部署 Next.js 项目只需要点几下。

2.1 注册 Vercel

  1. 打开 vercel.com
  2. 点击 "Sign Up",选择用 GitHub 账号登录
  3. 授权 Vercel 访问你的 GitHub 仓库

2.2 导入项目

  1. 在 Vercel 控制台,点击 "Add New..." → "Project"
  2. 找到 daily-focus 仓库,点击 "Import"
  3. Vercel 会自动识别这是 Next.js 项目,不需要改任何设置
  4. 先别点 Deploy——我们还要设置环境变量

2.3 设置环境变量

在同一个页面,展开 "Environment Variables" 部分,添加:

NameValue
NEXT_PUBLIC_SUPABASE_URL你的 Supabase 项目 URL
NEXT_PUBLIC_SUPABASE_ANON_KEY你的 Supabase anon key
OPENAI_API_KEY你的 OpenAI API Key

每个变量添加后点击 "Add"。确保三个都加了。

现在点击 "Deploy"。等 1-2 分钟,你会看到一个绿色的 ✅,配一行字:"Congratulations!"

你的应用上线了。

Vercel 会给你一个域名,类似 daily-focus-xxx.vercel.app。点击它,你的应用就打开了。

2.4 每次更新自动部署

以后你只需要 git push,Vercel 会自动检测到代码变更,自动重新部署。这就是 CI/CD(持续集成/持续部署)——你不需要做任何额外设置。

第三步:自定义域名(可选)

daily-focus-xxx.vercel.app 这个域名不太好记。如果你有自己的域名,可以绑定上去。

3.1 买一个域名

推荐在 NamesiloCloudflare 购买,.com 域名一年大概 60-80 元人民币。

3.2 在 Vercel 绑定

  1. 进入 Vercel 项目 → Settings → Domains
  2. 输入你的域名(比如 dailyfocus.app
  3. 点击 "Add"
  4. Vercel 会告诉你需要配置哪些 DNS 记录

3.3 配置 DNS

去你买域名的网站,找到 DNS 管理,添加 Vercel 告诉你的记录(通常是一个 CNAME 记录指向 cname.vercel-dns.com)。

等 5-30 分钟 DNS 生效,你就可以用自己的域名访问了。

Vercel 会自动帮你配置 HTTPS(SSL 证书),不用你操心。

第四步:添加数据分析

应用上线了,你想知道有没有人用。加个简单的访问统计。

方案一:Vercel Analytics(最简单)

  1. 在 Vercel 项目 → Analytics → 点击 "Enable"
  2. 安装依赖:npm install @vercel/analytics
  3. src/app/layout.tsx 中添加:
import { Analytics } from "@vercel/analytics/react";

// 在 body 标签内,children 下面加:
<Analytics />
  1. 推送代码,等自动部署完成
  2. 回到 Vercel Analytics 页面,你就能看到访问量了

方案二:Plausible(更注重隐私)

如果你在意隐私,可以用 Plausible。它不追踪个人信息,只看整体数据。在 layout.tsx<head> 里加一行 script 标签就行。

第五步:分享给第一批用户

你的应用在线了,现在要找人来用。

分享渠道

  1. 朋友圈/微信群——最直接,发一段话配截图

    "花了一个周末用 AI 做了一个小工具,每天早上设定 3 个最重要的任务,还有 AI 给你加油打气。试试看:你的域名.com"

  2. V2EX / 少数派 / 即刻——程序员社区用户更愿意尝鲜新产品 标题写清楚"是什么 + 为什么做 + 技术栈",附上链接

  3. Twitter/X——用英文发也可以触达更多人

    "Built a simple focus tool in a weekend with AI coding. Set 3 daily priorities, get AI motivation. Try it: your-domain.com"

  4. 小红书——截图好看的话效果不错

分享时注意

  • 一定要配上截图或录屏,纯文字没人看
  • 说清楚"这个东西解决什么问题",而不是"我用了什么技术"
  • 不要期待很多人用,能有 10-20 个人试试就已经很好了

第六步:收集反馈

第一批用户来了,听他们说什么。

问这几个问题:

  1. 你看得懂这个页面是干什么的吗?(测理解度)
  2. 你能顺利完成"设定任务 → 保存 → 获取鼓励"这个流程吗?(测可用性)
  3. 有什么让你觉得困惑或不方便的地方?(找痛点)
  4. 你会每天打开用吗?为什么?(测留存意愿)

工具:

  • 最简单:直接微信聊天问
  • 正式一点:用 Typeform 或腾讯问卷做一个简短的调查问卷
  • 进阶:加一个页面底部的反馈按钮,用 Formspree 收集

第七步:基于反馈迭代

收集到反馈后,分三个优先级处理:

优先级处理方式例子
紧急 Bug立刻修保存按钮点不了、页面白屏
高频需求这周加"能不能设置提醒?""想看一周的统计"
锦上添花记下来,以后再说"能不能加番茄钟?""想加背景音乐"

不要用户说什么就做什么。 先观察:如果 5 个人里有 3 个人都提到同一个问题,那才是真需求。

🎉 庆祝时刻

停下来,认真地对自己说:

"我做了一个产品,它在线上运行,有人在用它。"

不管你有多少不足,不管你写了多少 bug,不管你代码写得有多"丑"——

你做到了。从一个想法,到一个能用的产品。

很多学了三年编程的人都没做到这件事。而你做到了,用了一个周末。

本节小结

步骤说明
推送 GitHub代码版本管理,注意不要泄露 .env.local
Vercel 部署一键部署,设置环境变量,自动生成域名
自定义域名可选,但更专业
数据分析Vercel Analytics 最简单,一行代码搞定
分享推广朋友圈 + 技术社区 + 社交媒体
收集反馈问对问题,找到真正的需求
迭代改进先修 Bug,再做高频需求,最后才是锦上添花

你不仅做了一个产品,你还走完了完整的"做产品"流程。 这个经验比任何教程都值钱。