bitbucket pipelines 不能直接托管 html 站点,仅支持构建后推送到 github pages、netlify 或自有服务器;需配置 ssh 密钥权限,用 git push 到 gh-pages 分支或 rsync 部署,并注意资源路径与 base url 适配。
bitbucket pipelines 能不能直接发布纯 html 站点
能,但不是“发布”而是“部署”——pipelines 本身不提供托管服务,它只负责构建和推送。你需要把生成的 index.html 和静态资源推到支持静态托管的地方,比如 github pages、netlify、或者你自己的服务器。bitbucket 自己不托管公开 html 页面(bitbucket.org/{user}/{repo}.html 这种路径不存在)。
怎么用 pipelines.yml 把 build 后的 HTML 推到 GitHub Pages
这是最常见也最省事的路径:用 Pipelines 构建完 HTML,再通过 git push 推到 GitHub 仓库的 gh-pages 分支。关键不是“怎么写 HTML”,而是“怎么让 Pipelines 有权限推代码”。
- 在 Bitbucket 仓库 Settings → Pipelines → SSH keys 中,点击 “Generate key”,把公钥加到你的 GitHub 账户的
Deploy keys(注意勾选Allow write access) -
pipelines.yml里用git命令 clone 一个空的 GitHub Pages 仓库(或已有gh-pages分支),把dist/或public/里的文件拷进去,再git push - 别用
https://地址 push,必须用git@github.com:...的 SSH 地址,否则认证会失败 - 示例片段:
git clone git@github.com:yourname/your-site.git /tmp/site cp -r ./dist/* /tmp/site/ cd /tmp/site git add --all git commit -m "Deploy from Bitbucket Pipelines $(date +%Y-%m-%d_%H:%M)" git push origin gh-pages
为什么本地能跑的 HTML,在 Pipelines 里打开是空白页
八成是路径问题。HTML 里写的 <script src="js/app.js"></script> 在本地双击打开没问题,但在 Pipelines 部署后,如果托管服务(比如 GitHub Pages)要求从子路径访问(如 https://user.github.io/repo/),而你的资源路径没配 base URL,浏览器就会 404。
文章转信息图。将文章/笔记转化为手机可读的 HTML 信息图,自动匹配视觉风格。触发场景:文章转图、笔记转图、信息图、转小红书图、做张图、可视化这篇文章、文生图。
- 检查 GitHub Pages 设置:是发布
gh-pages分支,还是/docs文件夹?路径前缀是否一致 - 在
index.html的里加<base href="/repo/">(替换成你实际的子路径) - 构建工具如
vite或vuepress要显式配置base: "/repo/",否则生成的 JS/CSS 路径仍是相对根目录 - Pipelines 默认工作目录是仓库根,确保
cp -r拷的是构建产物目录,不是源码目录
能不能跳过 GitHub,直接用 Pipelines rsync 到自己服务器
可以,但得自己管好 SSH 认证和权限。Bitbucket Pipelines 不支持直接存私钥文件,必须用 Repository variables 存加密后的私钥内容(SSH_KEY),再在脚本里还原成文件。
- 私钥必须是 PEM 格式、无密码(
ssh-keygen -t rsa -b 4096 -N "" -f id_rsa),且id_rsa的权限必须设为600,否则rsync拒绝使用 - 在
pipelines.yml里先 echo 变量到文件:echo "$SSH_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa
- 确保目标服务器的
sshd_config允许密钥登录,且~/.ssh/authorized_keys已预置对应公钥 - 命令示例:
rsync -avz --delete ./dist/ user@your-server:/var/www/html/
服务器时间不同步、防火墙拦截 22 端口、rsync 版本太老不支持 --delete,这些都会让部署静默失败——建议在 rsync 后加 echo $? 打印退出码,方便排查。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










